接手祖传项目复盘
最近接手了一个职业生涯见过的最烂的祖传项目.
开发心情大概经历了: 吐槽->排斥->接受->修改->维护的一个大致过程.
修改期间整理了下心情,记录一下.
关于心情的变化
正视问题,之所以接手这部分代码一定修改的成本要小于重做的成本。去适应代码里的思路和解决方式。既然无法避免这个问题,接受他远比抵触他对你更有利。
不要骂人。每个人的成长环境都是不一样的,别人可能只是没有机会接触你的教育或者其他环境。不要拿自己的长处比别人的短处。
关于修改的细节
- 童子军军规:让营地比你来时更干净。
- 避免破窗效应。即使在修改一段烂代码,也尽可能保持自己平日里代码整洁的习惯。
- 在原代码上做修改,尽量避免另起炉灶,保证效率。
- 大的重构前commit一下自己的代码。
- 做修改一定是在保证原代码有效的基础上。
- 理解原代码以后留下相关的注释,为后人提供帮助。以己度人。不要单独维护文档了,代码既是文档。在祖传代码不规范的情况下,大部分地方都做不到“望文知意”的要求,所以即便是注释太多,也是有留下的必要的。
- 看不过眼的变量命名路过就改一下/注释掉的代码路过就删一下(有git/svn呢)/同一个类的重复代码抽一个函数/消灭魔数。这些改动并不会对整体代码有影响,但是他能让这个项目容易阅读一些。
- 尽量留下自己的名字吧,可以让你更加认真的去维护这个项目。