首页 > 其他分享 >阅读《代码大全2》第二次随笔

阅读《代码大全2》第二次随笔

时间:2022-09-30 23:33:46浏览次数:72  
标签:变量 代码 编程 参数 命名 随笔 子程序 大全

这是对上次随笔的续笔
1.对变量的命名,代码的阅读次数远远大于编写的次数,为了可读性,确保所取的名字更侧重于阅读而不是编写方便。命名时要足够具体,不要用模糊或者太通用能用于各种目的的名字,名字需要能表达变量所代表的含义,需要让阅读者无需苦苦思索。慎用缩写,现代编程语言很少使用缩写,如果真的要使用,最好维护一个项目字典或者标准前缀帮助理解,并且缩写英国有自己的规则,具体细节可参考代码大全。
2.在编程时需要组织直线型代码时,可以用比较好的子程序名、参数列表、注释,以及使用不同的变量让依赖关系看起来更明显。如果代码之间没有顺序依赖关系,则尽可能让相关的语句更接近。

        为了提高程序的可读性,减少以及隔离程序复杂度,提高代码复用率,在代码变更时减少带来的影响(功能变更,变更导致的测试),可移植性,方便后期优化,隐藏复杂逻辑结构等的实现细节......
2.如何创建好的子程序名字
  能够描述子程序所做的事情,使用动宾结构,并且对返回值有所描述,一般命名长度为9~15个,在一个项目里最好给一些通用的操作确立命名规则(比如创建、更新记录时),避免模糊命名(比如detail)
3.如何使用子程序参数?
        按照输入、修改、输出的顺序排列参数。 如果几个程序都用了类似的一些参数,应该让这些参数的排练顺序保持一致。不要把子程序的输入参数用作工作变量,工作变量最好在子程序中创建,保证参数尽量不被改变。
        把子程序的参数个数限制在大约7个以内,且保证每一个参数都被用到。为子程序传递用以维持其借口抽象的变量或对象,传递给子程序什么类型的参数,应该为对子程序而言,哪种方式对子程序更方便。
4.什么是防御式编程?为什么需要?
        防御式编程不是指不让别人批评你的代码,而是指确保你要承担的责任,保证你的方法不会因为传入错误数据而破坏,看似微小的防范,收益可能大于你的想象,能够让错误更容易发现,修改,并减少对已经编写代码的修改
5.如何对错误进行处理?处理的方式
        需要根据实际场景,程序是更需要健壮性还是正确性,一般普通的消费产品更倾向于健壮性,但和数据相关,则更倾向于正确性;建议在架构设计上就决定好如何处理错误,是异常还是其他的方式。

标签:变量,代码,编程,参数,命名,随笔,子程序,大全
From: https://www.cnblogs.com/nashacjj/p/16746554.html

相关文章

  • TCGA代码分析流程 - 2.1 三大R包差异分析
    0.准备判断式安装R包:如果该R包存在,可以顺带加载该R包,不需要再次library。if(!require(stringr))install.packages("stringr")if(!require(ggplotify))install.package......
  • 《代码大全2》阅读笔记9-2
      本次阅读了《代码大全2》3-5章并做出总结,3-5章作者由前期准备讲到关键的“构建”决策,最后到软件构建中的设计,作者一步步的带我们深入了解软件构建工作中的每一步及其......
  • 计数项目下的代码行数
    给出工程路径、指定代码类型,计算总共有多少行代码。以下代码的原理是,递归搜索文件夹下的源码文件,然后统计该文件有多少行,然后累加。#-*-coding:utf-8-*-#@Author......
  • 《代码大全2》阅读笔记
    《代码大全》看完前面觉得有很多值得回味的地方,而且每部分之后作者还推荐了不少经典书籍。本书的思想管理软件项目的本质是管理复杂性。代码承载的是人与人之间的交流。在......
  • 代码大全1第二篇阅读笔记
    第二章:用隐喻更充分的理解软件开发1、当将软件的构建过程比作房屋的构建过程时,可以发现,仔细的准备是必要的,发生变动时最贵的成本是人的时间,而大型项目和小型项目之间也有差......
  • 代码大全1第一章阅读笔记
    第一章:欢迎进入软件构建的世界1、什么是软件构建?开发计算机软件已是一个复杂的过程,在过去的25年间,研究者已经认识到在软件开发过程中的各种不同活动。主要分为:定义问题,......
  • 《代码大全2》阅读笔记-9月part2
    四部分是语句,这是构建程序主体的基本构成单元,比变量又高了一级。这部分主要描述语句的组织结构,比如直线型、循环控制、条件控制、表驱动等。一般的方法比如条件循环等等,大......
  • 代码随想录day7 ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四
    454.四数相加II暴力解法(超出时间限制):1classSolution{2public:3intfourSumCount(vector<int>&nums1,vector<int>&nums2,vector<int>&nums3,vecto......
  • 《代码大全2》阅读笔记-9月
    一部分是打好基础,本部分主要是软件构建前期的工作,以及对一些基本概念的介绍,具体包括如何选择编程语言和构建实践方法,如何理解软件开发的过程。软件开发本质上说就是工程,书......
  • JS 柯里化函数随笔
    模拟实现constslice=Array.prototype.slice;constcurryMaker=function(fn,len){constcurriedArgs=slice.call(arguments,2);returncurry.apply(this......