任何有价值的软件,都值的投入大量的时间和精力去持之以恒的改进。相反,没有价值的软件,即使只需要极少投入,都是在浪费时间和精力。
不排除少数天才或者项目经验极为丰富的人,他们开发的软件即使是最初的版本,都是很健壮和完善的,以至于后期只需要极小的改动。但绝大多数的人,很难做到如此完美。因此,大部分的软件,是需要一个逐步完善的过程,这个过程称之为软件进化过程。
软件并不一定会往好的方向进化,有很多软件变的越来越“脏”的例子。那么,有哪些方式可以保证软件向着好的方向进化?这是我们要重点分析和研究的部分。
要保持简单,大道至简。你写的任何一行代码,将来都是需要维护的,所有的BUG都藏匿于代码之中。没有代码的软件是不需要维护的,越少代码的软件越容易维护。所以,虽然软件进化是代码量逐步增多的过程,但是我们的原则却始终是“少写代码”。
时刻保持对代码的重构。重构代码虽然不像开发新功能那样给人带来显而易见的成就感,但是可以使代码保持“洁净”。如同房间需要每天打扫一样,代码也需要通过不断的重构来保障可读性、可维护性和可扩展性。
拥抱需求变动。软件是现实业务的辅助工具,所有的软件都源自于现实需求。然而,很少有人能够在刚开始时就将整个业务需求理解的很透彻,也很难保证需求在传达的过程中不会被误解。所以,既希望于在软件编码之前就将整个需求理解透彻,往往是不现实的。一个成熟的软件需要不断的用户反馈和版本迭代,才可能形成。
完善软件文档。【待完成】
统一编程规范。【待完成】