首页 > 其他分享 >《代码大全》阅读笔记2

《代码大全》阅读笔记2

时间:2023-04-24 22:22:26浏览次数:36  
标签:代码 笔记 抽象数据类型 编写 大全 数据 子程序 构造函数

二、编写高质量代码

1.类

软件的首要技术使命就是管理复杂度。可以通过把整个复杂系统分解为多个子系统降低问题的复杂度。

关于封装:类很像是冰山,八分之七都在水面以下,你只能看到水面以上的八分之一。

抽象数据类型(ADT)是指一些数据以及在这些数据上所能进行的操作的集合。

考虑类的一种方式,就是把它看作抽象数据类型,再加上继承和多态两个概念。

警惕有超过7个数据成员的类。

尽量使用多态,避免的大量的类型检查。

构造函数:

如果可能,应该在所有的构造函数中初始化所有的数据成员。
用私有构造函数实现单件属性。
2.子程序

子程序是为实现特定的目的而编写的一个可被调用的方法或过程。函数是有返回值的子程序;过程是没有返回值的子程序。
合理的参数个数,上线大概在7个左右。
3.防御式编程

主要思想:子程序不应传入错误数据而被破坏,哪怕是其他子程序产生的错误数据。
在代码中保留多少防御式代码?
保留那些检查重要错误的代码;
去掉检查细微错误的代码;
为技术支持人员记录错误信息;
确保留在代码中的错误信息是友好的。
4.伪代码创建子过程

用类似英语的语句描述特定的具体操作;
避免使用目标编程语言中的语法元素;
在意图的层面编写伪代码;
在一个足够低的层次上编写伪代码,以便于近乎自动地从他生成代码,然后把它编程代码中的注释。

我的代码质量不高,今天还被建民说界面不好看,哎。没办法阿。只能继续学习吗,提高界面。

标签:代码,笔记,抽象数据类型,编写,大全,数据,子程序,构造函数
From: https://www.cnblogs.com/daitu66/p/17351161.html

相关文章

  • Python用机器学习算法进行因果推断与增量、增益模型Uplift Modeling智能营销模型|附代
    原文链接:http://tecdat.cn/?p=27058最近我们被客户要求撰写关于因果推断与增量的研究报告,包括一些图形和统计输出。使用ML进行提升建模和因果推理Python包提供了一套使用基于最近研究的机器学习算法的提升建模和因果推理方法。允许用户根据实验或观察数据估计条件平均处理效......
  • R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化|附代码数据
    全文链接:http://tecdat.cn/?p=31434最近我们被客户要求撰写关于生态学进化树的研究报告,包括一些图形和统计输出。我们围绕进化树技术进行一些咨询,分析生物类群在时间上的多样性是如何变化的我们将用到分类单元数-时间图(Lineages-through-timeplot),该图可以用来描述物种多样化......
  • 贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据
    原文链接:http://tecdat.cn/?p=22702最近我们被客户要求撰写关于贝叶斯分位数回归的研究报告,包括一些图形和统计输出。贝叶斯回归分位数在最近的文献中受到广泛关注,本文实现了贝叶斯系数估计和回归分位数(RQ)中的变量选择,带有lasso和自适应lasso惩罚的贝叶斯摘要还包括总结结果、......
  • Serre算术教程Chapter 5笔记
    二次型的范畴论定义考虑这样一个范畴\(S_n\),由一些freeabeliangroupofrank\(n\)\(E\)组成Definitionoffreeabeliangroup一个有basis的abeliangroup.这里basis就是那个基的意思,everyelementcouldbeuniquelyexpressedasanlinearcombinationoffinitelyma......
  • 4.24 贪心法学习笔记
    多写题解多交流才能学好oi。在这里贴了代码,为了看上去完整一些。 大概是一些自己学习的记录罢。贪心不算客观意义上的算法,感觉还不算一种策略机制。我认为更像一种思路,其内涵就是择优,解题时就去想怎样才能更优。根据最优的思路能去做很多,如果说贪心是一个题的正解的话太抽......
  • 简化代码————匿名内部类,正则表达式,Lambda
         正则表达式     错误示范     ......
  • 【无人机三维路径规划】基于遗传算法实现无人机航迹规划附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 数据库校验用户准备工作与数据库校验用户核心代码实现
    数据库校验用户准备工作实现数据库检验用户从之前的分析我们可以知道,我们可以自定义一个UserDetailsService,让SpringSecurity使用我们的UserDetailsService。我们自己的UserDetailsService可以从数据库中查询用户名和密码。......
  • 单调栈学习笔记
    单调栈基础单调栈根据所维护的单调性可以分为四种:严格递增栈。必须出栈至栈空或栈顶小于当前元素后,才入栈当前元素。严格递减栈。必须出栈至栈空或栈顶大于当前元素后,才入栈当前元素。非严格递增栈。必须出栈至栈空或栈顶小于等于当前元素后,才入栈当前元素。非严格递减栈。......
  • SpringSecurity从入门到精通:登录接口代码实现&测试接口
    登录接口代码实现 @RestController @RestControllerpublicclassLoginController{@AutowiredprivateLoginServcieloginServcie;@PostMapping("/user/login")publicResponseResultlogin(@RequestBodyUseruser){returnloginServ......