著名的破窗户理论: 一座楼房由新转旧是由它的窗户开始的, 一扇窗户的玻璃破了, 没人修补, 又是一扇... 人们开始在墙壁上涂鸦, 往楼下扔垃圾... 一个世界末日的景象就此完成了.
为了减少程序中的破窗户, 我检查了其他程序员的代码. 哈哈, 真是个奇妙的旅行, 我确信我看到了世界末日, 程序中充斥着大量的冗余, 一个四舍五入的方法居然每个人都实现了N次!! 我喝着咖啡, 让他们聚在我周围, 然后打开一个个相同的类, 没错, 只有名字不同而已. "你们为什么把我写的公用方法都原封不动的copy一遍? 而且看看这个, 连注释的作者名都不改, copy的也太没有技术含量了." 我对他们说. "我以为这些是会变化的, 将来每个页面的情况都会改变." 其中一个说. 真是绝好的理由. "好吧, 那么请告诉我, 如果我把显示节点的名称改成显示节点的编码, 你需要修改几个地方? ". 没有回答. 在接下来的半小时里, 我画了大量的图示来讲解怎样解偶.
我希望组内的所有人都能把自己的破窗户及时补上, 也许我们的每个错误都不起眼, 但是一旦累加起来就足以致命!
"你负责的模块还需要多久能完成?" 我问一个刚刚工作的程序员. "...两天就能完成." 他回答. "哦. 你需要什么样的两天呢? 明天是周六, 加班吗? " "嗯, 加加班应该能完成." 高昂的工作热情啊. "你清楚的看过详细设计吗? 如果出现了一个浪费时间的问题怎么办? PSM会根据我的汇报重新安排进度, 虽然你很肯定, 但是如果你不能在两天完成怎么办? " "...那么3天? " 哈哈, 这回成了要我来估算.
有很多时候我们都过于自信, 而这个自信没有丝毫根据. 你一定见过某个程序员在凌晨为了完成某个进度表而拼命工作, 虽然大部分此类的进度表都是上层的政治原因演化而来的, 但是对于我们自己制定的计划, 是否也经常工作到凌晨? 也许你很有激情, 这没错, 但是激情并不足以提高你的效率, 你的大脑会在23点以后处于混乱状态, 你的生产力很可能变为负数, 因为在不久的将来, 你会花大量的时间修改自己写的垃圾代码. 过分的相信自己无所不能, 这似乎是所有刚参加工作的程序员都会犯的错误.
定制有弹性的进度, 这样才能生产高质量的代码, 而速度是以质量为基础的. 如果你在报告中说明你的任务会在2天左右完成, 等着瞧吧, 你的领导一定会在进度中把"左右"两个字去掉.
最后, 建议大家每天都看看书, 即使小说也好(毕竟我们缺少的不仅仅是专业技能方面的知识). 人是有惰性的, 如果不坚持学习就再也不想学习了.