编码检查表-编写无错代码的指南

编码检查

 

总结 了《 Writing Clean Code 》的所有 点,教你 写整 的代 。使用本表的最好 法是花两周 时间评审 一下你的 设计 编码实现 。先花几分 钟时间 看一看列表,一旦熟悉了 问题 ,就可以灵活自如地按它写代 了。此 ,就可以把表放在一 了。

 

一般问题

── 你是否 程序建立了 DEBUG 版本?

── 你是否将 发现 错误 改正了?

─一 你是否 测试 .即使耽 度也在所不惜?

── 你是否依靠 测试组为 测试

─一 你是否知道 编码 序?

─一 你的 编译 程序是否有可 的各 警告?

 

关于将更改归并到主程序

─一 你是否将 编译 程序的警告(包括可 的)都 理了?

── 你的代 是否未用 Lint

─一 你的代 码进 行了 测试吗

─一 你是否逐 一条 编码 路径以 察数据流?

─一 你是否逐 汇编语 次上的所有 关键

── 是否清理 了任何代 ?如果是,修改 处经过彻 测试

─一 文档是否指出了使用你的代 有危

── 程序 维护 是否能 理解你的代

 

每当实现了一个函数或子系统之时

─一 是否用断言 证实 了函数参数的有效性?

─一 代 中是否有未定 的或者无意 的代

─一 代 能否 建未定 的数据?

─一 有没有 以理解的断言? 作解 了没有?

─一 你在代 中是否作 任何假

─一 是否使用断言警告可能出 的非常情况?

─一 是否作 防御性程序 设计 ?代 是否 藏了 错误

─一 是否用第二个算法来 验证 第一个算法?

─一 是否有可用于确 或数据的启 startup 检查 ?

─一 代 是否包含了随机行 ?能消除 些行 为吗

── 你的代 生了无用信息,你是否在 DEBUG 中也把它 无用信息?

── 代 中是否有稀奇古怪的行

── 若代 是子系 的一部分,那 你是否建立了一个子系 统测试

── 在你的 设计 和代 中是否有任意情况?

── 即使程序 不感到需要,你也作完整性 检查吗

── 你是否因 程序太大或太慢,而将有价 DEBUG 测试 抛置一

── 是否使用了不可移植的数据 型?

─一 代 中是否有 量或表达式 生上溢或下溢?

── 是否准确地 实现 了你的 设计 是非常近似地 实现 了你的 设计

── 代 是否不止一次地解同一个 问题

── 是否企 消除代 中的 一个 if 句?

── 是否用 嵌套?:运算符?

── 是否已将 用代 孤立出来?

── 是否用到了有 风险

─一 是否不必要地将不同 型的运算符混用?

── 是否 用了返回 错误 的函数?你能消除 这种调

─一 是否引用了尚未分配的存

─一 是否引用已 经释 放了的存

── 是否不必要地多用了 冲存

── 是否向静 或全局 冲区 送了数据?

── 你的函数是否依 于另一个函数的内部 细节

── 是否使用了怪异的或有疑 C

── 在代 中是否有 在一行的毛病?

── 代 有不必要的灵活性 ?你能消除它 们吗

─一 你的代 经过 多次“ 着”求解的

─一 函数是否小并容易 测试

 

每当设计了一个函数或子系统后

─一 此特征是否符合 品的市 策略?

─一 错误 是否作 正常返回 的特殊情况而 藏起来?

─一 是否 评审 了你的界面,它能保 证难 于出 现误 操作

─一 是否具有多用途且面面 到的函数?

─一 你是否有太灵活的(空空洞洞的)函数参数?

─一 当你的函数不再需要 ,它是否返回一个 错误 条件?

─一 在 用点你的函数是出易

─一 你的函数是否有布 入?

 

修改错误之时

── 错误 无法消失,是否能找到 错误 的根源?

─一 是修改了 错误 的真正根源, 仅仅 修改了 错误 的症状?

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值