重构/重写代码还是继续?

8 c++ refactoring code-design

我刚刚完成了一段复杂的代码.它适用于规范,它符合性能要求等,但我对此感到有点担心,并正在考虑重写和/或重构它.我应该这样做(花费时间,否则可能花在用户实际会注意到的功能上)?

我对代码感到焦虑的原因是:

  1. 类层次结构复杂且不明显
  2. 有些课程没有明确的目的(他们做了许多无关的事情)
  3. 有些类使用其他内部(它们被声明为友元类)来绕​​过抽象层以获得性能,但我觉得它们通过这样做打破了封装
  4. 有些类会泄漏实现细节(例如,我之前将地图更改为哈希映射,并发现自己必须修改其他源文件中的代码才能使更改生效)
  5. 我的内存管理/池化系统有点笨拙而且不够透明

它们看起来是重构和清理代码,帮助未来维护和扩展的极好理由,但可能非常耗时.此外,我永远不会对我写的任何代码感到非常满意......

那么,stackoverflow会怎么想呢?清理代码或处理功能?

Pad*_*ker 5

我认为,如果你觉得有必要重构这段代码,那么你还没有"完成"它.

我认为你可以随心所欲地进行重构(假设你有测试并遵循TDD的红色,绿色,重构方法),但考虑到你的位置,告诉你"你应该"做了什么并没有什么意义.

我建议你重构一下.然而,我的实用主义者会给出以下警告 - 代码永远不会"完成",所以这次你的重构时间框(所以给自己一两个小时,保持测试通过,然后称自己为"现在完成")和然后每次你触摸代码时,遵循童子军规则并在每次检查时稍微清理一下代码.随着时间的推移,你将清理这段代码 - 并且将来尝试重构,作为开发过程的一部分,而不是在开发结束时做的大任务.