首页 > 其他分享 >01-《梦断代码》阅读笔记

01-《梦断代码》阅读笔记

时间:2023-06-11 15:56:08浏览次数:44  
标签:01 过度 代码 教堂 笔记 程序员 集市 Linux 梦断

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

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

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

标签:01,过度,代码,教堂,笔记,程序员,集市,Linux,梦断
From: https://www.cnblogs.com/YFLZ/p/17473044.html

相关文章

  • 02-《梦断代码》阅读笔记
    当人们梦想把软件变成流水线式的工作,他们常会期盼标准化的插件.新西兰学者詹姆斯.诺博尔和罗伯特.毕多有时用'后现代程序员'的笔名共同协作,他们把这梦想叫做"乐高假设":"未来,程序将由可服用的部件组合而成.软件部件将在全球范围内提供.软件工程将从编程的窠臼解放出来."从架子......
  • 03-《梦断代码》阅读笔记
    BM执行强制进度纪律的成功基于两条原则:1)计划是强制性的2)计划必须符合现实情况----“从底向上”,依据那些负责按计划执行的程序员的经验和知识而来,而不是“从顶至下”,靠管理者拍脑袋或对市场的期望而来。没有任何一种方法论能够覆盖软件项目的广大领域;结构化编程、改进组织代码......
  • 读书笔记六
    终于有幸拜读了《人月神话》这部业内经典著作。整体来说,本书的主线——人月神话、没有银弹在现今的软件工程管理领域依然属于有效的基础理论。不过有些东西确实过时了,比方说文档的管理,现在已经有了svn或者在线文档。提到调试的复杂性,现在的集成环境把调试变得非常容易。读完之后才......
  • Linux命令行与shell脚本编程大全学习笔记
    理解Linux文件权限执行ls-l命令获取当前目录下所有文件、目录和设备的权限。显示的列表字段分别为:文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);文件的权限;文件的硬链接总数;文件属主的用户名;文件属组的组名;文件的大小(以字节为单位);文件的上次修改时间;文件名或目录名。输出......
  • 读书笔记《人月神话》三
    人月神话相对于构建之法来说,讲的完全就是团队作业的效率问题了。首先,要为软件开发安排足够的时间,一个赶工出来的软件好不到哪去,因为当开发要达到约定期限时,开发者第一时间想到的往往不是加班加点把项目赶出来,而且也不现实。通常想到的都是在原项目的基础上进行各种各样的阉割,导致......
  • 【读书笔记】——《代码大全》
    DesigninConstruction我们要学会使类与类之间、子程序与子程序之间保持松散耦合,就是使一个类或者子程序能够很容易地被另一者调用。在结对编程的对接过程中,作为ui组我们就需要调用core组写的计算核心,这就是两个保持松散耦合的模块。我们只需要知道传入参数的设置就可以实现调用......
  • 《代码大全》读书笔记二
    《代码大全2》第六、七章      作者在第六章中从抽象数据类型(AbstractDataType)出发阐释类(class)的概念,给出创建类的原因以及创建高质量的常涉及的设计问题。抽象数据类型(ADT)是指一些数据以及对这些数据所进行的操作的集合,ADT是一个比类更基础的概念,类由ADT出发得到扩展,或......
  • 人月神话读书笔记二
    作者介绍:20世纪最后一年也就是1999年的图灵奖,授予了年已69岁的资深计算机科学家布鲁克斯(FrederickPhillipsBrooks,Jr.)。布鲁克斯这个名字在中国知之者不多,但在美国却是大名鼎鼎。因为他在60年代初只有29岁时就主持与领导了被称为人类从原子能时代进入信息时代标志的IBM/360......
  • 【读书笔记】人月神话
     作为一本计算机编程项目管理类的书刊,此书书名就毫不留情地指出“用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话”。这里向读者传达了这个重要的概念,在估计和进度安排中使用的工作量单位:人月。但实际上,人数和时间的互换是近乎不可能的,因为编程项目的任务不能分解给......
  • MySQL学习笔记-部署安装
    MySQL是一种常用的关系型数据库管理系统,可以用于存储和管理各种类型的数据。在本文中,我们将介绍如何在Linux操作系统上部署MySQL数据库,包括安装MySQL、创建数据库和用户、设置数据库安全性等。步骤如下:1.安装MySQL在Linux操作系统上安装MySQL通常需要使用包管理器,例如yum或apt-......