首页 > 编程语言 >程序员修炼之道第四章读书笔记与感悟

程序员修炼之道第四章读书笔记与感悟

时间:2022-10-31 20:47:53浏览次数:33  
标签:感悟 断言 读书笔记 代码 知识 程序员 模块 合约

                     程序员修炼之道第四章读书笔记与感悟

程和其他工程技术一样,是一项充满细节的工作,追踪这些细节需要专注。且要能持续地作出大大小小的改进。

在所有弱点中,最大的弱点就是害怕暴露弱点。

跳到更高的层次思考你的技能和工作。

不要容忍破窗户。当你看到糟糕的设计、错误的决策和混乱的代码时,修正它们。

记住大图景。不要太过于专注细节,以至于忘记了查看你周围都在发生什么。

不要承诺你做不到的事情,这是对别人的不负责任。

用户宁可明天用上有瑕疵的软件,也不想等一年再用上豪华版。让他们尽早使用,他们的反馈会把你引向最好的解决方案。

随着新技术、新环境的发展,你的技术和经验会变得过时,从而对你的客户来说,你的价值也在降低。

你说什么和你怎么说同样重要。

不要重复你自己,系统中每一项知识都必须有单一的、无歧义的表达。

把低级的知识防止代码里,高级的知识放在注释里。

让复用变得容易。尤其是知识和经验的复用更重要。

正交性指不依赖性或解耦性,一个事物的变化不会影响到其他事物。当各组件相互依赖,就不存在局部修正这样的事情,牵一发而动全身。

合约:合约约定了进入一个函数/方法/模块的前条件,即进入模块必须满足的条件,常常指满足模块运行的情景或变量取值范围等等;后条件,即模块需要达成的结果,模块运行之后所能达到的状态;不变量,是对于模块的约束,在调用模块前后始终为真的一些描述。

合约可以是动态的,由“合约代理”在不同模块之间协商出一套合约,但我不知道相应技术。

这是一个很好的想法,其优点在于让代码早崩溃,此时问题更小更单纯。但是在常用的c、cpp中这个想法并没有那么可行。可以通过断言实现一部分功能。

不过通过良好的文档,可以对前条件、后条件、不变量进行描述,从而达到合约的想法,一定程度上获得其优点。 

死程序不说谎:一个出现问题的程序可能会因为异常操作造成很大的破坏,所以运行出现问题时,崩溃好于破坏。要利用异常机制。

断言式编程:对于“不可能发生”的情况进行断言,以保证系统的健壮与安全,以免因错误数据或恶意攻击出问题。

然而断言时要避免加入执行代码及其他有副作用的代码,避免“海森堡bug”:不当调试改变了被调试系统的行为。

异常:检查每一个可能的错误,尤其是意料之中的错误是有必要的。

要将异常用于真正异常情况的处理而非模块逻辑的一部分。检查这一点的方式是去掉异常,观察模块能否正常运作。

承诺少些,交付多些,给他们以惊喜。温和地超出用户的期望。

团队要花时间学习系统的、正规的知识,没有这些知识,就只能靠直觉来寻找解决方案。

把事情作对是很不容易,且很复杂,需要扎实的知识和丰富的经验。自负和拍脑袋往往会带来混乱。碰巧把事情做对是不可重复的。

标签:感悟,断言,读书笔记,代码,知识,程序员,模块,合约
From: https://www.cnblogs.com/2351920019xin/p/16845688.html

相关文章

  • 《程序员修炼之道:从小工到专家》阅读笔记4
    如果你自己找不到答案,就去找出能找到答案的人。不要把问题搁在那里。与他人交谈可以帮助你建立人际网络,而因为在这个过程中找到了其他不相关问题的解决方案,你也许还会让自......
  • 程序员修炼之道:从小工到专家读书笔记(复制)
    其实对于我们步入大学以后才接触到编程的人来说,我们没有基础,更没有稳固的知识储备,这更是考验我们能力的时期,我们在大学的学习过后可能会成为哪种高不成低不就的中手,需要高......
  • 10月份读书笔记
    读书笔记3纯文本的威力:优点:可读性远大于二进制,且不依赖特定的应用解码,因此不会过时。为了增加纯文本可读性,应该使用能够理解的词语。另外纯文本可由任何应用读取,因此适合......
  • 程序员xiu练之道:从小红到专家
    开发过程中出现未曾预料的技术问题,交付晚了等情况,没关系,这些是无法避免的。发生了,我们就要尽可能想方设法地职业的去处理它们。程序员这个职业需要诚实和坦率,要敢于承认自......
  • 《程序员修炼之道:从小工到专家》阅读笔记3
    足够好的软件:通常你是为别人编写软件。你常常需要记得从他们那里获取需求?。但你是否常问他们.他们想要他们的软件有多好?有时候选择并不存在。如果你的工作对象是心脏起搏......
  • 程序员修炼之道第三章读书笔记
          程序员修炼之道第三章读书笔记  第三章的标题是基础工具,这一章讲述了调试,命令,编辑器等等的东西。  首先,这一章讲了我们在调试方面必须很熟练,因......
  • 读书笔记3
    作为一个开发人员,我们通常希望客户可以精通c语言,这样他们就可以知道我们在干什么,以及工作有多么努力,然而这样的事情显然是不太可能的。c语言是与电脑沟通的语言而不是与客......
  • 《程序员修炼之道:从小工到大家》十月份阅读笔记一
    第14节纯文本的威力1、纯本文由可打印字符组成,人可以直接阅读和理解其形式。这里强调可打印含义是字符时经过编码的可阅读字符,而不是二进制。这在现在看来几乎是不用......
  • 《程序员修炼之道:从小工到专家》第三章读书笔记
     第三章的内容是基本工具,我们都知道,每个工匠在职业生涯时都会准备一套品质良好的基本工具,工匠拿着趁手的工具才能更好的展现他的才干,工具越好,你越能更好的掌握它们的用法......
  • 《程序员修炼之道 - 从小工到专家》读后感(四)
    第四章:注重实效的偏执在生活中检查每一个可能的问题似乎是一种病态,然而编码时对输入数据、接口的误用以及自己的可能问题保持警惕十分必要。这一章介绍了许多工具,用来对......