我想写一些高质量的C代码.有人能指点我一些文章,网站......无论我需要什么样的东西都有例子.我已经看过并阅读过K&R C书.
但时代已经改变,有些人必须对质量C代码有更多的说法.另一个重要的事情是你如何确保你作为程序员有书面质量的C代码?
有人提到了一些编译器开关,但具有语法平滑的代码并不能确保高质量的最终产品,因为软件质量要高于此.
有几种软件质量分类,但这里有一个列表,您可以将其用作清单:
正确性(它是否符合规范?)
可靠性(用户可以依赖它吗?)
稳健性(在意外情况下是否有效?)
性能(它是否足以让用户快速完成工作?)
可用性(用户友好吗?)
可验证性(可以轻松验证其属性吗?)
可维护性(可以轻松修改吗?)
可修复性(可以在合理的时间内修复缺陷吗?)
可演化性(可以简单地添加新功能吗?)
可重用性(代码可以在其他项目中轻松使用吗?)
便携性(它可以在不同环境中轻松运行吗?)
可理解性(可维护者容易理解吗?)
互操作性(它的合作程度如何?)
生产力(效率和高效交付)
及时性(按时交付的能力)
可见性(所有步骤都清楚地记录了吗?)
在编译器中启用警告.使用gcc,我使用这些标志:
-std=c99 -pedantic -Wall -Wextra -Werror -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wconversion -Wstrict-prototypes
如果您的代码无法更改为不产生警告,请删除-Werror
或不使用产生警告的特定标志.
传统上,人们使用棉绒来帮助解决这个问题.