首页 > 编程语言 >程序员修炼之道阅读笔记03

程序员修炼之道阅读笔记03

时间:2023-05-15 16:00:26浏览次数:37  
标签:03 程序 程序员 修炼 配平 异常

第四章:注重实效的偏执

  这章讲的是程序员如何把“你不可能写出完美的软件”这一压抑的事情转变为有利条件。

  按合约设计(DBC):指的是做某事的期望和陈述。 前条件,开始之前的必要条件。后条件,执行后悔导致的状态。类不变项,类确保在调用者看来,该条件总是为真。

  死程序不说谎:要崩溃不要破坏,因为死程序带来的危害通常比坏程序小得多。

  何时使用异常:当犯的错误一样时。

  怎样配平资源:要有始有终。嵌套分配,对象与异常。

    配平与异常:如果抛出异常,怎么保证发生异常之前的所有资源得到处理?这个取决于语言。

标签:03,程序,程序员,修炼,配平,异常
From: https://www.cnblogs.com/wjzohou/p/17240530.html

相关文章

  • 程序员修炼之道阅读笔记02
    注重实效的途径1、重复的危害:DRY原则,系统中的每一项知识都必须具有单一、无歧义、权威的表示。不能重复自己。那么重复是怎么发生的?强加的重复:我们似乎觉得,我们必须这样才行。无意的重复:我们在不知不觉间重复信息。无耐性的重复:当我们发现现在需要的一部分代......
  • Bela Ban's JGroups Manual Translation Serial IV - 协议栈和高级概念
    本章讨论怎么样正确使用和配置JGroups的协议栈协议,以及一些 JGroups 的高级概念。1.jGroups协议栈   我们知道jGroups是一个可靠多播传输工具包,它能够为集群中成员提供点对点,点对组的通信,所有通信通过通道完成。通道基于协议栈之上,协议栈中协议各自有自己特别的功能,这些功能......
  • Parameter 9 of constructor in com.xxx.impl.xxxServiceImpl required a bean of ty
    1查看Service实现类是否加了@AllArgsConstructor2删除@AllArgsConstructor3给每个要注入的serviceBean加@Resource原因lombok的@AllArgsConstructor注解会代替@Autowired注入,导致某些不需要手动注入的bean重复加了@Autowired......
  • Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class
    报错代码Loadingclass`com.mysql.jdbc.Driver'.Thisisdeprecated.Thenewdriverclassis`com.mysql.cj.jdbc.Driver'.ThedriverisautomaticallyregisteredviatheSPIandmanualloadingofthedriverclassisgenerallyunnecessary.Exceptionin......
  • python-flask 技能点使用-03 请求钩子实现审计日志
    场景分析     使用pythonflask开发web系统,该系统是基于用户认证鉴权的web系统,系统中涉及到关键数据的操作,因此需要针对业务操作进行记录(也就是审计日志),便于管理员后期查看,在基于java的Spring系列框架中我们可以借助于AOP面向切面的编程来完成,在使用Flask时可以借助......
  • 程序员修炼之道 从小工到专家 阅读笔记04
    易于测试的代码:1、软件IC是人们在讨论可复用性和基于组件的开发时喜欢使用的比喻。意思是集成电路芯片可以很容易的进行组合,我们希望软件开发也能达到这个效果。芯片的设计有完善的测试,同样的软件开发也可以做同样的事情。2、针对合约进行测试及为测试而设计,即TDD测试驱动开......
  • 2月28日学习总结20230321
    上午智慧物业管理系统Java开发有一个三层规范(包结构)controllerfileController:文件的上传的与删除service(重点)dao持久层domain:实体类的包,与数据库中的表建立映射关系,操作实体类就是操作数据库中的表。面向对象的思想,OIMcommon:工具的类,公共的组件(不再会有任何编辑,就直接使用了)messa......
  • 2月27日学习总结20230321
    上午PDDTDDDDDTDD测试驱动开发,先写模块测试,在进行模块开发;测试失败后编写实现代码,测试成功后接着迭代下一个功能DDD领域驱动设计,更多关注业务层,定义几个模块,写模块的功能BDD行为驱动开发,从用户需求出发,强调系统行为,是TDD的补充mock服务完整介绍:​​​测试开发工程必备技能之......
  • 3月7日20230321
    计划[]crm项目基本看完[]看crapapi代码[]补所不会的内容执行09点51分 学习crm知识记录springMVC项目搭建开发环境idea有项目和工程的概念,一个项目可以有多个工程创建好了项目newproject——>创建工程newmodel补全目录结构添加依赖,看用什么技术配置文件mybatis-config.xmla......
  • 3月6日20230321
    计划学习springboot学习mybatis看crapapi的代码执行09点41分 学习springboot,11点16分 用户注册持久层13点33分 springmvc的学习英语角IfIwanttochageamobilephonebrand,thenIchoosetheMeizubrand.BecauseMeizuistheearliestsmartphonebrandinChina,alt......