首页 > 其他分享 >2023年11月20日

2023年11月20日

时间:2023-12-21 09:34:55浏览次数:33  
标签:11 20 代码 编程 程序 黑板 2023 我们 巧合

挑选了程序员修炼之道中感兴趣的章节进行了阅读

第二十二节:死程序不会说谎

1、对待程序我们通常会有“它不会发生”的心理状态,这会导致我们忽视一些问题。对于注重实效的程序员来说,如果我们忽略了一个错误,将是非常糟糕的事情。

2、我们一些异常情况,我们应该及早崩溃,用于强调问题的存在。

3、引起崩溃的时候不要造成破坏,比如申请的资源还没有释放等情况。

4、死程序带来的额危害通常比有隐患的程序要小得多。

第三十节:黑板

1、设想侦探破案的过程,他借助于一块黑板,把不同线索写出来;其他侦探也可以写下自己的推断和已掌握的案情细节。所有这一切串联起来将共同帮助案件侦破,但不同的线索之间是可以独立进行的。

2、这里的黑板可以抽象为一种处理事件的模型。不同于原始的工作流需要考虑各种状况,不同组合,先后顺序等,黑板系统只管写入,读取,查询,通知等基础功能,任意符合条件的事件都可以进入这个系统。

3、黑板模型也是一种解耦形式。

 

 

 

第三十一节:靠巧合编程

1、靠巧合编程即代码正好是可运行的,至于为什么能够正常运行,却不清楚。这是我们应该极力避免的。

2、在打算重构某个看起来有问题的代码时,我们会面临这样的疑惑,是否有必要冒着把能工作的东西弄糟的风险呢?这时我们可以考虑一下几个理由:

  • 它也许不是真的能工作,只是看起来能工作。kaoqiaohebiancheng

  • 你依靠的边界条件也许只是一个巧合。

  • 多余和没必要的调用会让你的代码变慢并增加新 bug 的风险。3、如何深思熟虑的编程,有以下建议:
  • 总是意识到你在做什么。
  • 按照计划(设计)行事。
  • 依靠可靠的事物而非假设。
  • 不要只是测试你的代码,还要测试你的假定。
  • 不要让已经做完的事情限制你的下一步,做好重构的准备。

标签:11,20,代码,编程,程序,黑板,2023,我们,巧合
From: https://www.cnblogs.com/Christmas77/p/17918271.html

相关文章

  • 11/16
    周四,UML快要上机了,数据结构也快要上机了,乒乓球马上要开始考试,离散数学也要期中考.MVC是一种分层开发的模式优点:职责单一,互不影响;有利于分工合作;有利于组件重用三层架构三大框架javaweb代码需要遵循MVC模式和三层架构的思想准备环境在创建完成Maven项目之后,记得将需要用......
  • 11/17
    又是一周五.Javaweb中的四大域对象:1、page:当前页面有效2、request:当前请求有效3、session:当前会话有效4、application:当前应用有效el表达式获取数据,会依次从这4个域中寻找,直到找到为止JSTL标签需要导入相关导包c:if标签——来完成逻辑判断,替换Javaifelsec:forEach标签......
  • 2023年11月8日
    阅读相应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示的。解答:1.原码原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比......
  • 2023年10月22日
    早上起床后,感觉有点疲劳,于是决定给自己放松的一天。下午,我和一些朋友一起去篮球场打篮球。打篮球不仅可以锻炼身体,还可以放松心情,释放压力。我们组织了几场友谊赛,不仅锻炼了身体,还增进了彼此之间的友谊。晚上回到宿舍后,我选择了玩一会儿游戏,选择的游戏是最近非常火爆的《原神》。......
  • 2023年10月25日
    上午的课程是UML的序列图和协作图。在这门课上,我们学习了UML建模语言中的序列图和协作图,这是一种图形化的表示方法,用于描述对象间的交互和协作过程。通过老师的讲解和实践练习,我对序列图和协作图的概念和绘制规则有了更深入的理解。这种图形化的表达方式对于我们软件工程师来说非......
  • 2023年10月30日
    Java中常见运行时异常异常类型说明ArithmeticException算术错误异常,如以零做除数ArraylndexOutOfBoundException数组索引越界ArrayStoreException向类型不兼容的数组元素赋值ClassCastException类型转换异常IllegalArgumentException使用非法实参调用方法lIIegalStateExcept......
  • 2023年11月2日
    今天我们实现学生的前端信息,学生部分的前端代码,学生部分的后端代码在User的后端代码中register.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>学生注册</title><style>button{......
  • 大二打卡(11.16)
    今天做了什么:今天的高铁票,老姐要结婚了,迫不及待穿上周一买的那身巨帅的大衣,但是大衣已经被表姐拿回去了,前几天看到老姨他们拍的视频,家门口已经大变样了,喜庆,红艳,但是距离我亲眼目睹这一切还剩四次课,uml,体育课,数据结构跟离散数学,uml今天开始上实验,每周都是,这周的只是让你下载个建模......
  • 2023年10月20日
    二叉树的链式结构二叉树的数据结构:typedefstructNode{chardata;structNode*lchild,*rchild;}*Bitree,BiNode;分别为根,左孩子,右孩子二叉树的创建,先序遍历的方式如输入 “AB#CD###E#F##”voidcreatBitree(Bitree&T){charch;cin>>ch;if(ch=='#')T=NULL;else{T=newBi......
  • 11/13
    又是周一,上午是工程实训,下午是建民老师的课.还是servlet会执行doGet()方法其生命周期由容器来管理,分为4个阶段:1、加载和实例化:默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象;非默认情况下,可以通过@WebServlet(urlPatterns="/demo",loadOnStartup=1)进行Servlet......