码迷,mamicode.com
首页 > 其他好文 > 详细

《梦断代码》读书笔记

时间:2018-04-13 23:32:56      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:而且   过度设计   开发模式   模式   概念   没有   大型   高效   linus   

? 我这周读完了《梦断代码》,这本书详细讲了 Chandler 软件的开发过程。在讲团队协作时,作者提到了一本书《大教堂与集市》。《大教堂与集市》的作者认为,重要的软件应该像建大教堂一样,由独立的巫师精心打造,在面世之前绝对不发布 beta 版本。而 Linux 采用的开发风格却像一个乱哄哄的大集市,铺陈了各种日程和手法,要从中得到一个前后一致的稳定系统,简直只能指望奇迹再三出现。可事实上这种集市风格看起来行之有效,让人非常震惊。后来人们在 Linux 系统的开发中总结出了 Linus 法则:只要有足够多的 beta 版测试人员和开发者队伍,几乎所有问题都能被很快发现,而且总有人知道该怎么修复。虽然 Linux 和 Apache 服务器采用的是集市型的开发并取得了巨大的成功。但我仍然更欣赏大教堂式的开发模式和Unix 的设计哲学 “KISS”:即,让代码得到复用,由稳定、健壮和独立的小工具组合出大程序。

? 书中还提到,量化程序员的工作量是很困难的事情,用代码行来衡量程序员的工作非常愚蠢。程序员之间的生产力差距可能多达十倍以上,给程序员分配合适的任务也是很困难的事情。在我看来,

? Linus 在接受采访给开源项目的建议是:从小项目开始,而且永远不要期望它变大。如果期望它变大,就会过度设计,把它想象得过于重要。更坏的情况是,可能会被自己想象中的艰难工作吓到。所以要从小处起步,着力考虑细节。别去想大图景和好设计。如果项目没有解决眼前的需求,多半就是被过度设计了。我认为这很有道理,很多时候,过度设计、过早优化、过度抽象、过度工程都是造成软件工程失败的原因,在开发软件的过程中,我们应该及时反思,以避免这些问题。

? 书中还提到一个有意思的概念,如“意大利面条式代码”,指的是糟糕的程序员写出来的枝蔓缠结的代码。我们应该尽量避免产生这样的代码。

? 最后,我想用书中的一个资深程序员的话结尾:软件的成功是铁一般的纪律的副产品 。要想在大型项目中保持高效,你得效忠于它。你要将它印在脑海之中。我在做大项目的时候,常常睡觉也梦到代码。

《梦断代码》读书笔记

标签:而且   过度设计   开发模式   模式   概念   没有   大型   高效   linus   

原文地址:https://www.cnblogs.com/nicekingwei/p/8824307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!