程序设计的十做与十不做
今天来和大家分享两个很不错的程序设计「做」与「不做」列表。首先,是 Andres Taylor (安缀斯‧泰勒)写的「Top 10 Things Ten Years of Professional Software DevelopmentHas Taught Me」,翻成中文就是「十年程序设计经验教我的十件事情」。
原文不长,里面有很多不错的观念,我鼓励你们去读读。以下是中文版:
- 面向对象比你想象中的还难很多
- 程序设计师最重要的技能:沟通
- 你必须要学会说「不」
- 如果所有的事项都一样重要,那意思是它们都不重要——无论如何必须把先后顺序排出来
- 千万别把事情复杂化
- 深入问题的核心,但是不要被困住了
- 非常清楚的了解其它人在做的事情,无论是营销、设计、客服
- 你的同事就是你最好的老师 (你该试试 Pair Programming)
- 无论如何最后的产品必须是好用的
- 这世界上总会有一些混蛋
而至于什么事情应该要避免,大家可以参考 Dare Obasanjo (戴尔‧欧巴桑侯)写的「Top 10 Signs Your Software Project is Doomed」,翻成中文就是「十个软件项目注定失败的迹象」。
- 第一个版本就想做太多功能
- 采用太新的技术平台
- 「复杂的问题,需要复杂的解法…」
- 团队人手不足
- 成员开始隐藏进度落后的事实和原因(Schedule Chicken)
- 不断更改、增加的需求 (Scope Creep)
- 不知道客户在哪里
- 2.0 症状群——后继版本非要更大、更强、更美(Second System Syndrome)
- 与公司里面另一个很有份量的产品竞争(这在创业团队应该不可能发生)
- 根本从一开始就选了一个你无法解决的大问题
以上,跟大家分享,希望能够帮助你们在做的产品更顺利、更成功,加油!