首页 > 其他分享 >十月读书笔记

十月读书笔记

时间:2023-12-19 23:45:38浏览次数:327  
标签:读书笔记 十月 代码 注释 理解 设计 子程序 指针

阅读了代码大全2的部分内容,做出如下总结

把不太理解的东西和一些较为理解的且十分类似的东西做比较,对这个不太了解的东西产生更深刻的理解叫做建模。

模型不可能一下子就覆盖的很全面,会经过一系列的转变,往更好更全面的模型发展。

简单的模型有简单的用处,模型的选择与设计需根据实际情况来。

增量的、迭代的、自适应的、演进的软件设计概念。

精心计划,并非意味着事无巨细的计划或过渡的计划,程序设计也是如此。

隐喻是一种启发方式,并不是算法。

迭代技术不能完全消除前期准备不足的负面影响。

需求变更的主要来源是客户参与项目的时间越长,对项目的理解深入,更加了解自己的需求。

架构的组成,类的设计、数据设计、业务规则、用户界面设计、资源管理、安全性、性能、可伸缩性、互用性、输入输出、错误处理、容错性等,红色为嵌入式系统比较中要的分。

深入一种语言去编程,不要仅 在一种语言上编程

软件的首要技术使命:管理复杂度

遇到设计不佳的旧代码,应该为新的系统编写一个与旧代码的交互层,层次化设计 有利于把低劣代码禁闭起来。

形成一致的抽象,抽象能使你忽略无关的细节。

 

 

 

合作设计,三个臭皮匠顶的上一个诸葛亮,含义是设计的过程中 可以将自己的设计方案与同事讨论一番,询问同事的一些想法,讨论一些设计方案。

类的接口应该展现一致的抽象层次

编写子程序的理由: 降低复杂度,易懂的抽象,避免代码重复,隐藏指针操作,提高可移植性,简化复杂逻辑,隐藏实现细节,形成中央控制点。

内聚性,指子程序中的操作紧密程度,

把每个知识点都变成1+1

避免在构造函数和析构函数中抛出异常,可能造成内存泄漏。

忽略异常并不是不做异常log,而是异常层次较低,对系统几乎无影响。

把伪代码变成高层次的注释

声明变量的时候进行初始化,尽可能的缩短变量的存活时间,缩小变量的作用域。

避免浮点数进行数值判断

不要随机的访问数组,应当顺序的访问数组,随机的访问数组类似goto语句。

结构化的数据可提升程序的维护性

指针是现代编程中最容易出错的领域之一,但是理解指针有助于理解内存管理机制。

避免指针错误,方法:把指针操作限制到子程序中,使用指针之前进行检查

尽可能的少用全局数据,通过访问子程序来取代全局数据。

使用if else if 将最常见的情况放到最前面有利于提高代码效率,switch case 同理

在for循环里面,循环的标志位不要再循环体内修改。且跳出循环体后,不要用循环的标志位。

循环体的边界应当使用整数或枚举类型

循环长度与多层嵌套会增加理解复杂度。

return 的目的增强子程序的可读性。

递归并不常用,如果使用,必须慎重。递归的使用需考虑递归能够正常停止,系统的堆栈够用,处理的事情要足够的简单便于理解。

c语言中,把常量放在比较的左端,编译器能够检查出错误的使用=符号

代码质量特性:正确性,可用性,效率,可靠性,完整性,适应性,精准性,健壮性。可维护性,灵活性,可移植性,可重用性,可读性,可测试性,可理解性。相互联系。

多种缺陷检测方法结合,更有利于检测出缺陷。

检测发现的缺陷成本远低于测试发现的缺陷成本,

协同构建能够有效的改善软件质量

尝试用多种方法重现错误以准确判断错误原因

抛开问题休息一下

开发阶段的重构是提升程序质量的最佳时机。

增量集成有助于项目增长

注释写的糟糕很容易,写的出色很难,注释写的不好只会帮倒忙?

注释的种类,重复代码,解释代码,代码标记,概述代码,代码意图说明,

注释代码应该注重 为何做而不是怎么做

有的注释风格需要许多重复性劳动,应当舍弃,改用易于维护的注释风格。 

标签:读书笔记,十月,代码,注释,理解,设计,子程序,指针
From: https://www.cnblogs.com/yang-----/p/17915128.html

相关文章

  • 九月读书笔记
    程序员修炼之道:从小工到专家阅读了此书的前五节第一节:我的源码让猫吃了1、开发过程中出现未曾预料的技术问题,交付晚了等情况,没关系,这些是无法避免的。发生了,我们就要尽可能想方设法地职业的去处理它们。程序员这个职业需要诚实和坦率,要敢于承认自己的错误。2、要对担负的东西......
  • 《程序员修炼之道:从小工到专家》读后感十月篇二
    《程序员修炼之道:从小工到专家》第四章以“唯‘用’主义”为主题,深入探讨了实用主义在程序员成长道路上的重要性。这一章让我对实用主义有了更深刻的认识和理解,也让我更加注重实用主义在编程实践中的应用。这一章强调了实用主义的重要性。在编程中,我们不仅要追求技术的精湛,更要......
  • 《需求分析与系统设计》读书笔记2
      第四章是需求规格的说明,在这章中作者提出需要用图形和其他形式化模型来说明需求。需求规格说明用客户的叙述性需求作为输入,用构造规格说明模型作为输出,这些模型分为3组,即状态模型,行为模型和状态变化模型。对象的状态由它的属性和关联的取值来决定,状态规格说明提供系统的静态视......
  • 【Kaggle】AAAMLP读书笔记 Cat-in-the-dat II (优化)
    本人希望从0开始,自己的Kaggle竞赛12月拿到自己的第一块Kaggle奖牌短期内读完AbhishekThakur的Approaching(Almost)AnyMachineLearningProblem并且发博客记录https://github.com/abhishekkrthakur/approachingalmost12月至少发21篇博客每天保持八小时的学习时间Approachingca......
  • 程序员的思维修炼 读书笔记02
    第三章认识你的大脑R型对直觉,问题解决和创造性非常重要,L型让你细致工作并实现目标。人类具有超强的感知能力,其中许多无法有效地用语言表达。例如,你可以立刻认出大量熟悉的人的面孔,无论他们是否改变了发型、穿着,或者肥了10磅,还是过了20年。但是,尝试描述你最亲密爱人的脸庞,你......
  • 读书笔记
     1.有基本函数的用法 Numpy: 来存储和处理大型矩阵,比Python自身的嵌套列表(nestedliststructure)结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。数据结构为ndarray,一般有三种方式来创建。 Pandas: 基于NumPy的一种工具,该工具是......
  • 读书笔记——槽叔《攒多少钱,才能安心养老》
    01中国人养老的四大迷思◆1.1我的社保养老,能领多少?社保养老:国人养老第一支柱城镇职工养老保险和城乡居民养老保险统称为社保养老金。现收现付制:读懂第一支柱的钥匙设计职工养老金制度时,政府设立了两个账户:统筹账户和个人账户。统筹账户由单位出资,按月薪的16%计算。—......
  • 《构建之法》读书笔记(二)
      “人们为了解决现实社会和生活中的各种问题,要求助于软件。”那我们如果精准地获取到这些需求呢?通过阅读我了解到以下步骤。   开发一个软件前,我们要去了解这个软件的受益者,了解他们的需求,了解他们对这个软件的期待,然后软件工程师按照相应的需求开发,替用户着想。当然......
  • 《需求分析与系统设计》读书笔记1
    第一章讲了软件过程,从总体生描述了软件开发过程中的策略问题,介绍了支撑现代软件开发的过程和方法,认到了软件工程的本质是软件固有的复杂性,一致性,可变性和不可见性的产物。软件工程的偶然因素分为3类,即投入者,过程和建模语言和工具;投入者指那些与软件项目之间存在着利害关系的人,即客......
  • 读书笔记12《构建之法 现代软件工程(第二版)》读后感
    今天将《大话软件工程-需求分析与软件设计》这本书算是总体阅读下来了,说一说总的感受。《大话软件工程-需求分析与软件设计》是一本为软件工程师和客户们提供一套支持交流、传递,具有很强实操性的理论、方法、工具和标准的书籍。这本书让我对软件工程有了更深入的理解,并且让我......