我有一个小项目(用Python编写的3000行代码),它没有已知的bug,也有一些不错的部分,但由于时间的不足,很大程度上是一团糟。不幸的是,我必须继续编写和维护代码。
雇用一位经验丰富的开发人员,向他们解释需求(因为我没有记录这些需求),让他们检查代码并重构它(与我密切讨论),这是个好主意吗?
我感到关切的是:
(a)这项工作非常烦人,经验丰富的开发人员不会愿意这样做。
(b)我会花很多时间解释有关的要求,以及我现时的守则所做的工作,这样我便可以更快地自行进行实际的工作。
发布于 2011-03-02 17:47:42
我不认为这是正确的方法。正如您注意到的,解释需求和代码的当前状态已经需要花费大量时间。将理解和讨论审阅者的发现所需的时间放在它旁边,并在代码中进行修复。
此外,你怎么知道审查员能胜任这项任务?你怎么保证(S)他和你有相似的思维方式?没有这一点,评审结果可能类似于“重写这个神圣的垃圾,因为它不符合<最新和最伟大的编程范例根据reviewer>”。因此,在上面加上寻找和选择合适的评审者的成本。
难道只是因为时间的缺乏,你才会考虑这个选择吗?否则,您是否对将代码改进到更高标准的能力有信心?
如果是这样的话,我建议按照任务和未来代码修改的要求,逐步执行重构。这是为了克服缺乏时间的工作,在小的,可实现的步骤。每当你接触到代码的时候都要对它做一点改进--随着时间的推移,这些小小的改进将产生很大的影响。
如果没有,你无论如何都应该学习,外包评审任务对你没有帮助。
最后但并非最不重要的一点:为了能够从长远来看有效地维护代码,您需要深入了解它,并将它的心智模型保存在您的脑海中。建立和维持这种心理模型的过程是不能外包的。
发布于 2011-03-02 18:34:56
口头共享需求从来都不是一个好主意,只是打开了错误沟通、实现错误和各方之间产生影响的大门。不是一张漂亮的照片。:)
确保你把事情记录得很好,并把它看作是对你的项目的投资。它一旦完成就会有回报。记住,大多数时候你都在读代码,而不仅仅是写代码。首先要确保事情容易读懂。
如果您需要一些关于如何正确重构和更改代码方式(不再使用3000+行类)的指导,我建议阅读清洁代码-敏捷编程手册。。
发布于 2011-03-03 02:35:26
我同意大多数人的观点,3K代码行并不是你所认为的那种庞然大物。您可以记录代码应该一次做一件小事的逻辑。
https://softwareengineering.stackexchange.com/questions/53937
复制相似问题