首页 > 编程语言 >01-《程序员修炼之道——从小工到专家》读书笔记

01-《程序员修炼之道——从小工到专家》读书笔记

时间:2023-06-11 15:58:51浏览次数:42  
标签:编码 01 语言 读书笔记 程序员 软件 第三方 估算

  这本书描述了一些程序员编写大型项目时所应该遵循的最基本的原则和可以使用的最基本的工具。它没有描述某一种特定的语言、特定的算法,也没有推荐一种编程方法作为万灵药,而是介绍了实用主义的思想,并介绍了一整套方法论帮助程序员与团体避免错误、避免浪费无谓的时间,更有效地开发程序。

注重实效的哲学
我的源码让猫给吃了:出现错误时,要诚实,不要推诿或者找借口。要提供各种可能的解决方案与后果并与他人沟通,而不是提供借口。
软件的熵:这是著名的破窗户原理。项目中一个小的、无人料理的问题可能带来后续编码时的懈怠,从而造成更大的问题。不要容忍任何小的错误,解决它或至少打上TODO标签。
石头汤与煮青蛙:催生改变有些时候是有用的,但仅当团体已经死气沉沉、无法通过常规方式作出改变时。当一个团体活力旺盛时,不应用欺骗式的方式催生改变,而应该对所有改变保持警觉,并保持良好的沟通,保证大家时刻都知道自己在做什么。这同样适用于个人。
足够好的软件:完美的软件是不存在的,幸运的是我们只需要制作足够好的软件。判断软件是否“足够好”时要让用户需求加入判断。
你的知识资产:cs行业变化迅速,所以不应止步不前。只有对知识投资才能有回报。要定期学习新的东西,并学习多元化的知识、管理风险。
交流:交流非常有用,但要学会高效交流。注意这些问题:想清楚自己要说什么,了解自己的听众,选择时机、选择风格,让文档保持美观并让用户加入文档的编写,也要倾听并回应他人。

注重实效的途径

重复的危害:如果某个事物在代码中重复多次,就可能会在维护过程中带来问题,因为改动了一处而忘记改动另一处造成自相矛盾。这加大了维护难度。

正交性:引入第三方库时可能会破坏正交性,要小心不要使第三方库对整体代码造成改动。如果第三方库的接口存在问题,可以将第三方库用适合自己代码的方式进行封装。

可撤销性:许多需求会改变,许多政策会改变,所以编写项目时任何决策都应该可以撤销。项目结构应该保持灵活,不要依赖某个已有决策。

曳光弹:这个比喻有点晦涩。作者介绍了一种方法,编码之初先搭建一个大致框架,然后慢慢填充编码。这样既可以方便编码,又可以随时与用户沟通项目是否符合他们的需求。

领域语言:任何领域都有自己的语言,如用于配制的语言,用于文档的语言,用于描述需求的语言。

估算:要学会估算。估算的方法在于限定问题的情景范围,对系统建立模型,对模块进行拆分并分别估算,抹去可忽略不计的量。估算不需要过于精确,但需要细心

标签:编码,01,语言,读书笔记,程序员,软件,第三方,估算
From: https://www.cnblogs.com/YFLZ/p/17473026.html

相关文章

  • 02-《程序员修炼之道——从小工到专家》读书笔记
    复制别人的代码时,代码中可能包含了我们并不需要的段落,或者是出现了我们并不理解的逻辑,这会导致我们的代码不够清晰、不够简洁。另外,如果我们使用之前成功的代码来解决新问题,那么我们就会变成一个只能解决管理员问题,却不能写出优秀代码的程序员。最后,当我们不写注释时,这会让后来的......
  • 03-《程序员修炼之道——从小工到专家》阅读笔记
     重写、重做和重新架构代码合起来,称为重构。那么我们该在什么时候进行重构呢?当你遇到绊脚石——代码不再合适,你注意到有两样东西其实应该合并或是其他任何对你来说是“错误”的东西,那么你不要对改动犹豫不决,应该现在就做。但往往现实世界特别复杂,当你去找你的老板和客户,对他们说......
  • 01-《梦断代码》阅读笔记
    在讲团队协作时,作者提到了一本书《大教堂与集市》。《大教堂与集市》的作者认为,重要的软件应该像建大教堂一样,由独立的巫师精心打造,在面世之前绝对不发布beta版本。而Linux采用的开发风格却像一个乱哄哄的大集市,铺陈了各种日程和手法,要从中得到一个前后一致的稳定系统,简直只能......
  • 读书笔记六
    终于有幸拜读了《人月神话》这部业内经典著作。整体来说,本书的主线——人月神话、没有银弹在现今的软件工程管理领域依然属于有效的基础理论。不过有些东西确实过时了,比方说文档的管理,现在已经有了svn或者在线文档。提到调试的复杂性,现在的集成环境把调试变得非常容易。读完之后才......
  • 读书笔记《人月神话》三
    人月神话相对于构建之法来说,讲的完全就是团队作业的效率问题了。首先,要为软件开发安排足够的时间,一个赶工出来的软件好不到哪去,因为当开发要达到约定期限时,开发者第一时间想到的往往不是加班加点把项目赶出来,而且也不现实。通常想到的都是在原项目的基础上进行各种各样的阉割,导致......
  • 【读书笔记】——《代码大全》
    DesigninConstruction我们要学会使类与类之间、子程序与子程序之间保持松散耦合,就是使一个类或者子程序能够很容易地被另一者调用。在结对编程的对接过程中,作为ui组我们就需要调用core组写的计算核心,这就是两个保持松散耦合的模块。我们只需要知道传入参数的设置就可以实现调用......
  • 《代码大全》读书笔记二
    《代码大全2》第六、七章      作者在第六章中从抽象数据类型(AbstractDataType)出发阐释类(class)的概念,给出创建类的原因以及创建高质量的常涉及的设计问题。抽象数据类型(ADT)是指一些数据以及对这些数据所进行的操作的集合,ADT是一个比类更基础的概念,类由ADT出发得到扩展,或......
  • 人月神话读书笔记二
    作者介绍:20世纪最后一年也就是1999年的图灵奖,授予了年已69岁的资深计算机科学家布鲁克斯(FrederickPhillipsBrooks,Jr.)。布鲁克斯这个名字在中国知之者不多,但在美国却是大名鼎鼎。因为他在60年代初只有29岁时就主持与领导了被称为人类从原子能时代进入信息时代标志的IBM/360......
  • 【读书笔记】人月神话
     作为一本计算机编程项目管理类的书刊,此书书名就毫不留情地指出“用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话”。这里向读者传达了这个重要的概念,在估计和进度安排中使用的工作量单位:人月。但实际上,人数和时间的互换是近乎不可能的,因为编程项目的任务不能分解给......
  • 2013-7-12学习笔记
    形参改变影响实参主要应用在以下几个方面:1.用于外部函数要交换主函数中的两个值,可以用指针来实现,但通过指针来实现主函数中两个数的交换必须要知道,哪些类型属于值传递,哪些类型属于地址传递,对于值传递的那些类型(例如:整形、字符型)才有必要用指针来实现,因为数组,字符串属于地址传递类......