总结一下在项目中遇到的问题,我发现大部分问题都是可以避免的。

1. 管理问题

我并不懂管理,只是基于个人理解来总结一些问题:

  1. 项目进度安排不合理甚至没有明确的进度安排,阶段目标不明确,有的管理者喜欢说“尽快完成”,尽快到底是多快!?
  2. 人员安排不恰当,招人的时候分了中高级程序员(或者工程师,我很混淆这两个概念,工程师听起来似乎高级一点,但事实上…),但在实际工作似乎没有体现出来。另外就是经常让另一个开发人员修复其他开发人员程序中的Bug,没有正确认识bug的严重程度,没有意识到修复bug可能会引入新的bug,特别是在对整个项目没有全局把握的情况下。当然,如果原开发人员已经离职就另当别论了。
  3. 管理者不懂技术、或者出于其它目的,总之无论客户提出什么需求都统统揽下,返回第一点
  4. 最后,管理者不以身作则,只知道让程序员去做事情,自己很官僚。

2. 文档问题

其实文档也应该属于管理的问题,但我觉得这个问题很重要。

对于文档问题主要体现在:

  1. 没有文档,完成任务很需要想像力(很恐怖吧)。
  2. 文档混乱,不知道这个文档是需求文档,还是设计文档。
  3. 文档不规范,用语就像在写散文,用词不严谨,太多假设和歧义。

3. 规范问题

这里特指编码规范,要么没有编码规范,各自用自己的方式写代码,如果是注重代码重量的程序员还好,如果遇到连缩进都不用的程序员简直让人发疯。要么就是有规范,但没有人遵守,其实跟没有一样。

4. 态度问题

很多人写代码好像从来不好好测试一下自己的代码,因为我经常在修复别人的bug的时候发现是些非常愚蠢的问题。

另一个问题就是有人为了快速解决问题完全不考虑效率和优化问题,用一些令人费解而笨拙的方式来解决问题。虽说不要过早考虑优化,但至少不能过度不优化,也不能不考虑基本的扩展性、稳定性、安全性…