首页 > 其他分享 >读书笔记2

读书笔记2

时间:2022-10-06 19:23:18浏览次数:53  
标签:调用者 读书笔记 例程 程序 设计 合约

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

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

标签:调用者,读书笔记,例程,程序,设计,合约
From: https://www.cnblogs.com/xiao-hong111/p/16758231.html

相关文章

  • 产品经理必懂得技术那点事儿——读书笔记
    产品经理必懂得技术那点事儿1.产品思维与技术思维1.1.产品经理为什么要懂技术当产品经理与工程师就某一个具体问题进行讨论时,双方站在各自角度就问题进行分析和讨论,固有......
  • 9月《代码大全2中文版》读书笔记
         本月,在王老师的推荐下,我进行了对美国的史蒂夫·麦克奈尔先生编著的《代码大全2中文版》这本书的学习工作。本次学习让我受益匪浅,以下是我个人的一些所思所想......
  • 读书笔记1
    读书笔记1程序员所应该遵循的实用主义原则。我的源码让猫给吃了:出现错误时,要诚实,不要推诿或者找借口。要提供各种可能的解决方案与后果并与他人沟通,而不是提供借口。软......
  • 读书笔记2
    程序需要遵守的实用主义原则。重复的危害:如果某个事物在代码中重复多次,就可能会在维护过程中带来问题,因为改动了一处而忘记改动另一处造成自相矛盾。这加大了维护难度。要......
  • 《程序员修炼之道:从小工到专家》读书笔记2
    除了是程序员,AndyHunt还是一位木匠和音乐家,你LD将v到h与这样的背景粕关单引擎飞机。尽管作者未曾明言,在本书的许多地方、你都将看到与这样的背景相关的叙述。我想,对于两位......
  • 九月读书笔记《程序员修炼之道——从小工到专家》
        本月,在王老师的推荐下,我进行了对美国的安德鲁·亨特和大卫·托马斯编著的《程序员修炼之道——从小工到专家》这本书的学习工作。本次学习让我受益匪浅,以下是我......
  • 《程序员修炼之道:从小工到专家》读书笔记1
    本书原名“ThePragmaticProgrammer”.也就是“注重实效的程序员”。正如书名所示.本书将围绕“注重实效”讲述关于编程的各种话题:个人责任、曳光弹开发、调试策略、元程......
  • 读书笔记1
    就同我在上篇读书笔记中说的那样,这本书中的一些方法和思想,需要我们在之后的编程学习过程中一点一点的参悟和领会。比如说从我的第一次个人作业中,我对书中提到的曳光弹代码......
  • 读书笔记2
    最近阅读了《程序员的修炼之道:从小工到专家》第四章:“注重实效的偏执”,再结合上周一的期中考试,让我感触颇深。本章开始先讲述了“按合约设计”,大该讲的是与计算机打交......
  • 程序员的修炼之道:读书笔记2
    在做软件的时候,我们需要看看我们做的对象是谁,这样来看看我们所作的软件的第一代是什么质量的,。如果,我们的工作对象是心脏起搏器,航天飞机等,我们需要将我们的软件做的很好,但......