我有一个问题:qt C++新的类似方法。我是否重载方法,编写新方法或使用默认参数?
我有一个巨大的C++程序,我必须适应新的需求。在节目中我有一个现有的方法,使用约20倍于我的代码
void doSomething();
现在我需要在我的程序中使用非常相似的新方法(一次或两次使用)。当设置标志时,这种新方法需要做类似的事情。我有几个想法如何编码。有没有最好的解决方案/风格来做到这一点?
想法1: 写另一个方法,它几乎与doSomething()相同。但是这意味着复制代码。
void doSomethingElse();
理念2: 重载我的方法(但仍重复的代码)
void doSomething(bool myFlag);
思路3: 使用默认参数,包括在老方法DoSomething的if语句( )。
void doSomething(bool myFlag=false);
有没有最好的解决方案呢?还是更好的解决方案?
感谢老方法,你
Merchaldes
这是一个通用的OO/Architecture/C++ Style类型的问题,最好的答案是有点依赖于上下文/环境,其中在这个问题中确实没有提供。建议让一些C++书籍进入C++编程的内容,比如Scott Meyers的书籍,或者搜索网络进行那些讨论。 – CarlH
代码重复不一定是坏的 - 它取决于代码的意图。也就是说,如果X和Y是相同的,并且永远都是相同的,不管X和Y的内容如何,那么这可能是一个错误的重复。如果代码重复复制 - X和Y刚刚恰好相同*现在*代码重复可能是最好的解决方案。过早地“不重复”(“DRIED”?)代码可能会弄得乱七八糟。 – molbdnilo