目录
第六章 | 编码规范
【编码规范】
基本概述
-
软件编程是一个复杂而迭代的过程,它不仅仅是编写代码,还应该包括代码审查、单元测试、代码优化、集成调试等一系列工作。
-
软件编码规范是与特定语言相关的,描写如何编写代码的规则集合。
-
现实:软件全生命周期的70%成本是维护。软件在其生命周期中很少由原编写人员进行维护
-
目的:提高编码质量,避免不必要的程序错误。增强程序代码的可读性、可重用性和可移植性
-
好的注释解释为什么,而不是怎么做:不要在注释中重复描述代码
-
注释的时候需要思考要在注释里写什么,而不是乱写
-
写完注释之后要在代码的上下文中回顾一下,它们是否包含正确的信息
-
当修改代码时,维护代码周围的所有注释
【软件编程效率】
代码优化
-
优化是对代码进行等价变换,使得变换后的代码运行结果与变换前的代码运行结果相同,但执行速度加快或存储开销减少。
-
根据80/20原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗80%的工作量。
-
以提高全局效率为主、局部效率为辅
-
优化程序的时候,应该首先找到限制效率的瓶颈
-
先优化数据结构与算法、再优化执行代码
-
T(n)和S(n)常常是对立的,需要权衡之后进行折中。优化,是一个多目标的最优决策,在不可能使所有目标都达到最优时,需要进行折中实现整体的最优。
-
正确的代码要比速度快的代码重要,任何优化都不能破坏代码的正确性
-
永远不要在没有执行前后性能评估的情况下尝试对代码进行优化
【单元测试】
-
测试通过率是指在测试过程中执行通过的测试用例所占比例,单元测试通常要求测试用例通过率达到100%。
-
测试覆盖率是用来度量测试完整性的一个手段,可以了解测试是否充分以及弱点在哪里。代码覆盖率是单元测试的一个衡量标准,但也不能一味地追求覆盖率。
-
覆盖率的标准:语句覆盖、判定覆盖、条件判断、判定条件覆盖、条件组合覆盖、路径覆盖
【单元测试题】
选择题
判断题
不要修补不好的程序,要重新写。 T