首页 > 编程语言 >程序员的修炼之道:从小工到专家读书笔记

程序员的修炼之道:从小工到专家读书笔记

时间:2022-10-31 21:55:35浏览次数:41  
标签:调用者 读书笔记 例程 小工 程序 程序员 合约

    阅读了《程序员的修炼之道:从小工到专家》第四章:“注重实效的偏执”,再结合上周一的期中考试,让我感触颇深。

 本章开始先讲述了“按合约设计”,大该讲的是与计算机打交道很难。与人打交道更难。但作为一个族类,我们花费在弄清楚人们交往的问题上的时间更长。在过去几千年中我们得出的一些解决办法也可应用于编程,确保坦率的最佳方案之一就是合约。 合约既规定你的权利和义务,也规定对方的权利和责任,此外,还有关于任何一方没有遵守合约的后果的约定。 Meyer为Eiffel语言发展了按合约设计的概念。 什么是正确的程序?不多不少,做它声明要做的事情的程序。用文档记载这样的声明,并进行校验,是按合约设计(简称DBC)的核心所在。 软件系统中的每一个函数和方法都会做某件事情。在开始做某件事情之前,例程对世界的状态可能有某种期望,并且有能力称述系统结束时的状态,Meyer这样描述这些期望和称述:1、前条件——为调用例程必须为真的条件,例程的需求。违反前条件时,例程不应被调用。传递好数据是调用者的责任。2、后条件——例程保证会做的事情,例程完成时世界的状态。不允许有无限循环。3、类不变项——从调用者的视角来看,该条件始终为真。在例程内部可能会变,但是例程退出返回调用者时必须为真。起初我在读完这部分后,没有多大的感触,但在经历了周一的失败,加后来的反省之后我才突然发现:“什么是正确的程序?不多不少,做它声明要做的事情的程序。”讲的是多么的正确,因为如果把自己放在社会上,周一那场考试,就是没有按合约设计. . .  . .或许是因为紧张的情绪,在老师发试卷后,我仅是简单的浏览了一下,就开始按照自己的意愿去写程序了,以至于. . . . . .这不但警示我,写程序是一定要按照“合同”设计,还让我明白,读书,不能单纯的读,还要思考,实践,理解了书中的意思,才算是读过这本书。

标签:调用者,读书笔记,例程,小工,程序,程序员,合约
From: https://www.cnblogs.com/ashuai123/p/16845982.html

相关文章

  • 程序员修炼之道:从小工到专家读书笔记(1)
    本书的大致内容如下:第一节;我的源码让猫吃了开发软件中会遇到各种未曾预料到的问题,如交付晚了等情况,是很正常的,这些情况发生之后,我们就要尽可能想方设法的处理解决他们,我......
  • 《程序员修炼之道:从小工到专家》第四章读书笔记
     第四章的主标题是“注重实效的偏执”,“你不可能写出完美的软件”,是的,这就是现实,让人压抑的现实,那么我们如何把他变成一个有利的条件呢,这就是这一章要讨论的。 第四章......
  • 程序员修炼之道第四章读书笔记与感悟
               程序员修炼之道第四章读书笔记与感悟程和其他工程技术一样,是一项充满细节的工作,追踪这些细节需要专注。且要能持续地作出大大小小的改进......
  • 《程序员修炼之道:从小工到专家》阅读笔记4
    如果你自己找不到答案,就去找出能找到答案的人。不要把问题搁在那里。与他人交谈可以帮助你建立人际网络,而因为在这个过程中找到了其他不相关问题的解决方案,你也许还会让自......
  • 程序员修炼之道:从小工到专家读书笔记(复制)
    其实对于我们步入大学以后才接触到编程的人来说,我们没有基础,更没有稳固的知识储备,这更是考验我们能力的时期,我们在大学的学习过后可能会成为哪种高不成低不就的中手,需要高......
  • 10月份读书笔记
    读书笔记3纯文本的威力:优点:可读性远大于二进制,且不依赖特定的应用解码,因此不会过时。为了增加纯文本可读性,应该使用能够理解的词语。另外纯文本可由任何应用读取,因此适合......
  • 程序员xiu练之道:从小红到专家
    开发过程中出现未曾预料的技术问题,交付晚了等情况,没关系,这些是无法避免的。发生了,我们就要尽可能想方设法地职业的去处理它们。程序员这个职业需要诚实和坦率,要敢于承认自......
  • 《程序员修炼之道:从小工到专家》阅读笔记3
    足够好的软件:通常你是为别人编写软件。你常常需要记得从他们那里获取需求?。但你是否常问他们.他们想要他们的软件有多好?有时候选择并不存在。如果你的工作对象是心脏起搏......
  • 程序员修炼之道第三章读书笔记
          程序员修炼之道第三章读书笔记  第三章的标题是基础工具,这一章讲述了调试,命令,编辑器等等的东西。  首先,这一章讲了我们在调试方面必须很熟练,因......
  • 读书笔记3
    作为一个开发人员,我们通常希望客户可以精通c语言,这样他们就可以知道我们在干什么,以及工作有多么努力,然而这样的事情显然是不太可能的。c语言是与电脑沟通的语言而不是与客......