
课程咨询: 400-996-5531
投诉建议: 400-111-8989
认真做教育 专心促就业
编程指南是许多软件编程开发程序员在开发软件的时候会在工作经常用到的一个编程开发工具,而本文我们就通过案例分析来简单了解一下,编程指南分类方法都有哪些。
1、编程指南内容分类
编程指南主要可以分为两大类:风格类与编程实践类。
风格类指南包括标识符的命名、格式以及注释风格等。此类指南引导开发团队使用统一的代码风格进行开发。一致的编码习惯与风格,会使代码更容易阅读、理解,也更容易维护。需要注意的是,对于开源项目,如果在代码风格类指南上有冲突,原则上遵从开源项目原本的代码风格要求。
命名类条款要求标识符的命名要清晰、明了,含义明确容易理解,软件项目内部应具有统一的命名风格。例如驼峰风格的命名是近年来多数企业推荐的命名方式。符合阅读习惯的命名将明显提高代码可读性,统一的命名风格更加有利于代码的理解和维护。
格式类条款建议在同一个项目中使用统一的排版格式风格,以便所有人都能够轻松的阅读和理解代码,增强代码的可维护性。例如使用空格进行缩进,每次缩进4个空格。
注释类条款建议在需要的时候,对逻辑较为复杂或者易于让读者产生困惑的代码,辅以注释加以说明。注释是为了帮助阅读者理解代码,所以要从阅读者的角度出发按需注释。例如“代码注释置于对应代码的上方或右边”。注释内容要简洁、明了、无歧义,信息全面而不冗余。注释跟代码一样重要,修改代码时也要保证其相关注释的一致性。只改代码,不改注释是一种不文明行为,破坏了代码与注释的一致性,让阅读者迷惑、费解,甚至误解。
编程实践类指南包含编程语言特性相关的条款,比如数据类型、常量与变量的使用,表达式、语句,函数设计与使用,资源管理以及错误处理等。这类编程实践有些具有一定的时效性,比如语言的新特性。对于趋于成熟的语言新特性,编程指南会引导开发人员从使用旧特性的编程方式向使用新特性转变,对于这类场景给出佳实践作为参考,其中引导、建议的成分居多。但是,随着时间的推移,新特性的使用也可能逐步转变成更加严格的要求条款。编程实践类指南中,健壮性与安全性尤其受到人们的关注。
健壮类条款侧重于提升软件产品本身的质量属性,比如健壮性、可维护性、运行性能等。这类指南通过在语言本身的语法之外添加额外的合理限制,来避免语言本身或者开发人员无意疏漏导致的意外错误。比如“”确保枚举常量映射到值”这一条款,虽然编程语言本身可能允许一个枚举中的项具有重复的值,但是这违反了人们对于枚举的自然期望,而且往往意味着不良的设计,进而导致一些不易发现的错误。
安全类条款侧重于软件的安全性,主要通过列举可能导致安全隐患的危险场景,结合导致安全风险的示例,要求开发人员避免使用不安全的方式编写代码。比如“禁止外部可控数据作为进程启动函数的参数”这一条款,举例说明了将外部可控输入数据直接传递给进程启动函数,导致程序产生注入漏洞。随后给出了如何避免此类风险的多种可行方案,引导开发人员正确进行安全编码。
2、编程指南应用分类
针对不同的场景,每一条编程指南条款的目标、范围以及适用性都略有不同。总体上来说,编程指南把所有的指南条款分为原则类和规则类两个类别。
原则类条款通常是对适用于某个较的开发场景或语言特性中的一类指南条款的概括,或者是对于不存在明确的标准的场景,给出指导性建议。比如“标识符命名应符合阅读习惯”这样的原则,是否符合阅读习惯是比较主观,但是尽量让标识符命名有意义,符合自然语言使用习惯可以极大地提高代码的可读性和可维护性。
规则类条款是需要遵从或参考的比较具体的优秀实践,这类条款通常都具有可以量化的评估手段,方便开发人员参照执行。规则类条款又可以细分为两个级别:要求、建议。
要求:表示开发团队原则上应该遵从,违反要求类条款往往会导致软件产品的潜在质量、安全以及可移植性等问题。比如“定义宏时,要使用完备的括号”这条要求条款,如条款所言“宏展开时只做文本替换,在编译时再求值。文本替换后,宏包含的语句跟调用点代码合并。合并后的表达式因为操作符的优先级和结合律,可能会导致计算结果跟期望的不同”。违反此条款往往意味着程序的正确性无法保证。
建议:代码风格类多属于这类条款,除此之外通常表示条款属于佳实践,有助于进一步降低风险或优化代码。建议类条款作为优秀的实践经验的总结,通常是被广为接受的,但也并非就是的正确选择,开发团队可结合具体实际情况考虑是否采纳。比如“行宽不超过120个字符”这条建议条款,从早的行宽80到现在的120,具体的行宽要求也是顺应着开发人员的显示器或编辑器的可显示能力的变化而调整的。具体采用行宽80、120还是其他合理的值都是可以的,具体要看开发团队的实际情况。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。