@
JamesR “重构不漂亮的代码” 确实是浪费时间 但是 “除非这个代码功能彻底用不成,否则不论写得多烂,我不会去重构代码”也是不应该的 有时候可能会导致浪费更多时间
@
ericgui 完美主义心里可以有 但是行动上要克制 过度浪费时间和生命在这些上面不值得 而且 bug 和问题反而可能会更多
我觉得产品代码是否需要重构要看“可维护性”和“可扩展性”
如果代码过于混乱 /过时 /局限太大 导致当前要修 bug 或者加 feature 过于困难 在时间允许的情况下就一定要重构
如果是多人大项目 当代码混乱到别人接手看不懂没办法下手 最好也要重构一下 如果时间允许
如果没有时间 那么就应该给项目管理或者上层提出重构的需求 然后安排时间 可以说如果不重构以后维护和加功能会多么多么困难需要多花多少多少时间这样
而且重构不应该是一股脑儿彻底重构 最好是是局部的和渐进的 如果有足够的 unit test 就更好了
重构是很花时间的 也是很危险的 可能之前的 bug 修好了反而产品坏了 以及可能引入很多新 bug
但是如果拖太久 后期的可维护性就会越来越低 可能会拖到整个项目不得不砍掉重来就得不偿失了
同时如果有比较全面的 unit test 或者自动 test 重构的难度和风险会降低很多