gpt4 book ai didi

c++ - 概括/重构代码

转载 作者:太空狗 更新时间:2023-10-29 23:34:26 27 4
gpt4 key购买 nike

我的代码是这样的:

if(country == china)
{
getCNData();

}

else {
getDefaultDataForallCountries();

}

现在我需要为其他国家(例如美国)添加与 CN 类似的逻辑。我可用的选项是在条件下再添加一个国家/地区检查并使其像

if(country ==china && country==US){
getCNandUSData();

}

else {
getDefaultDataForallCountries();


}.

1) 我不太愿意采用这种解决方案,因为它不是通用的。如果明天我需要将相同的 CN 逻辑应用于另一个国家,比如法国,该怎么办。您能否建议我如何使我的代码更好、更通用。

2) 另外,我对命名约定不太满意。如果说我采用在 If 条件下添加 US 的方法,我是否应该将类名和函数名重构为 getCNAndUSData()?

我不确定处理此类现有代码的正确方法是什么。感谢您的评论。

最佳答案

这类问题(过度使用“if”和“switch”语句)可以通过实现 strategy pattern 巧妙地处理。用abstract factory 。基本上,您希望在不更改实现和一遍又一遍地复制代码的情况下更改算法。

尽情享受吧!

关于c++ - 概括/重构代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3855452/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com