克服"以后修复"的坏习惯

8 c++ code-reuse modularity

当我从头开始编写代码时,我养成了在一个函数中快速编写所有内容的坏习惯,整个时间都在考虑"我将在以后更加模块化".然后,当后来出现时,我有一个工作产品,任何修复它的尝试都意味着创建功能,并且必须弄清楚我需要通过什么.

它变得最糟糕,因为当你的项目几乎完成时重新设计类变得非常困难.例如,我通常在开始编写代码之前做一些规划,然后当我的项目完成时,我意识到我可以使类更加模块化和/或我可以使用继承.基本上,我认为我没有做足够的计划,而且我不会获得超过一个级别的抽象.

所以最后,我坚持使用一个具有大型主函数,一个类和一些辅助函数的程序.不用说,它不是非常可重复使用的.

有没有人有同样的问题,有任何提示可以克服这个问题?我想到的一件事是用pseduocode编写main函数(没有太多细节,但足以看到他们需要什么对象和函数).本质上是一种自上而下的方法.

这是一个好主意吗?还有其他建议吗?

Jam*_* M. 12

在事先没有大型设计阶段的情况下即时编写内容时,我采取完全相反的方法.也就是说,我使用虚构的对象和方法编写主要函数,看起来像"在一个完美的世界中",然后创建所有内容的骨架,以便程序编译,然后返回并使其工作.这确保了模块化设计,并且高级代码非常易于理解.如果有的话,缺点是代码可能变得过于模块化,因为编写doFoo()而不是实现foo内联是很诱人的.


duf*_*ymo 5

"首先,我们养成了习惯,然后才能养成我们."

这似乎适用于好习惯和坏习惯.听起来像是一个糟糕的人已经掌握了你.

练习更加模块化,直到它"只是我做事的方式".