Joel谈优秀软件开发方法是很多优秀文章的一个合集。前面说了Eric Sink的文章,现在说说对其他文章的感受。
- “为何不禁用依赖于未公开机制的应用程序”:在这篇文章中讲到了windows为了做兼容处理而做了很多特殊处理。为什么这么做,因为不这样做,客户就不升级等原因
- EA:关于员工的故事。EA员工的家属写给EA CEO的信。EA里面要求员工一直加班,且基本上没有修整时间,同时没有任何额外工资。这让我想到了华为,呵呵。文章的本意基本上就是说加班没有任何好处
- 强类型和强测试(Bruce Eckel):C/C++等是强类型语言,而python不是。文章中提到强类型语言相比其他语言没有任何好处。应该做到的是强测试。比如说单元测试、验收测试等。
If it's not tested, it's broken(如果没有经过测试,那么程序就是不可用的)
- 伟大的黑客(Paul Graham):黑客很多时候是为了兴趣而不是为了钱。文中赞同“物以类聚、人以群分”。认为如果公司如果没有优秀人员,那么基本上不可能就产生优秀人才。黑客做事情是将一件事情做到好。
- 星巴克不使用两阶段提交:主要是将异步处理的好处
- C++-- 被遗忘的特洛伊木马(Eric Johnson):看完过后给我的感觉就是作者在说C++的几个创始人是大大的狡猾,采用农村包围城市(呵呵,只是比方)的方式,蚕食了开发领域。在C++的发展过程中,在C的基础上一点点的改进,让原来的C开发人员一步一步陷进C++中,最后发现自己再也不能掉头了。
- 更换一个灯泡需要多少名微软员工(Eric Lippert,怎么这么多Eric):本文中阐述在一个产品开发中,即使加入一个只有5行代码的功能,也会消耗去几十个人月的工作量。
- 事情搞砸了怎么办:感觉不错,但看完后没有什么感觉
- Larry的软件规则之二:用测试指标来衡量测试人员是行不通的:言外之意就是说上有政策,下有对策。那么这样还不如什么不干。
- 团队补偿(Mary Poppendieck):一个团队在采用SCRUM方式开发且项目完成非常成功,但HR要让团队领导人进行绩效考核,这和agile精神相背离,由此引发的争端。文中建议不采用绩效考核和金钱激励。如何体现员工的价值(money and level),建议采用晋升系统(员工定级,通过一定的考核方式,只要员工达到,就提升到相应的级别);将利润共享和经济驱动紧密结合起来(比如说以项目最终产生的效益结合起来,节省的成本等,然所有人都以此为驱动);基于影响范围的奖励制度(比如ROI,P&L);找到比金钱更好的促动因素。
- 用卡通狐狸来趟快速的Ruby之旅:好像不错,但没怎么看
还有其他很多文章,但不感兴趣,也就不说出来了