软件设计是一项工程!
软件开发和其它的工程技术(诸如:建筑业)一样应该有自己的规范和一致的风格。想象下,如果一个建设设计工程中关于长度的描述:有人用厘米,有人用英寸,还有人用市寸,那将是多么混乱的世界!
无论是哺育了川西2000多年的都江堰,还是花费600多年才建成的科隆大教堂,它们的背后一定有优良合理的规约和风格贯穿其中。中国武术上下3000年,却因繁杂多样,各立门派,最后留给我们的只有在公园健身的太极;韩国的跆拳道创立于二战后,从动作到服装严格统一规划,仅50多年历史就风靡全球,注册运动员达到6000多万人,从而获得世界第一搏击运动的称誉。
为了走出软件小作坊,迈进系统工程开发,我搜集并整理了一些软件编程规范,本着杜绝谬误,曾查阅多种资源,确保文档具有指导意义。如果说我撰写这些文档是宣扬个人的一些见解,那就有点夸张了。若对大家有帮助那就最好了,毕竟对付我们职业生涯中最大的敌人----bug,还是需要尽可能多的武器。
1. 《软件编程规范》
直接源自华为公司的规范,从风格到编程,自测试至维护,都体现了大公司规范开发的流程制度,支撑起“通讯巨人”的基础规范还是很具有借鉴价值的。
2. 《编程缩写字典》
编程中少不了有较长的变量名称,如CommunicationFrequency,选用全名虽然保留变量蕴含的意义,但是冗长的字母不仅难记还容易出错;采用缩写是一个不错的主意,如CommFreq。为了记录较长单词与缩写之间的映射,保证前后一致性,需要一个缩写字典。
3. 《变量命名规范》
优秀的变量命名不查看原型就可以得知它的类型等信息,如a_pvQData,是一个数组,它的每一个成员是一个类属指针(void*),这种命名既可以统一程序风格,又可以减少错误的产生(程序员都会把它当指针数组来使用)。本次整理的命名方法是微软公司采用的著名的匈牙利命名法衍生版本,考虑到C语言是嵌入式开发的“国际通用语言”,摒弃了C++部分,保持了文档的简单实用性。
软件开发和其它的工程技术(诸如:建筑业)一样应该有自己的规范和一致的风格。想象下,如果一个建设设计工程中关于长度的描述:有人用厘米,有人用英寸,还有人用市寸,那将是多么混乱的世界!
无论是哺育了川西2000多年的都江堰,还是花费600多年才建成的科隆大教堂,它们的背后一定有优良合理的规约和风格贯穿其中。中国武术上下3000年,却因繁杂多样,各立门派,最后留给我们的只有在公园健身的太极;韩国的跆拳道创立于二战后,从动作到服装严格统一规划,仅50多年历史就风靡全球,注册运动员达到6000多万人,从而获得世界第一搏击运动的称誉。
为了走出软件小作坊,迈进系统工程开发,我搜集并整理了一些软件编程规范,本着杜绝谬误,曾查阅多种资源,确保文档具有指导意义。如果说我撰写这些文档是宣扬个人的一些见解,那就有点夸张了。若对大家有帮助那就最好了,毕竟对付我们职业生涯中最大的敌人----bug,还是需要尽可能多的武器。
1. 《软件编程规范》
直接源自华为公司的规范,从风格到编程,自测试至维护,都体现了大公司规范开发的流程制度,支撑起“通讯巨人”的基础规范还是很具有借鉴价值的。
2. 《编程缩写字典》
编程中少不了有较长的变量名称,如CommunicationFrequency,选用全名虽然保留变量蕴含的意义,但是冗长的字母不仅难记还容易出错;采用缩写是一个不错的主意,如CommFreq。为了记录较长单词与缩写之间的映射,保证前后一致性,需要一个缩写字典。
3. 《变量命名规范》
优秀的变量命名不查看原型就可以得知它的类型等信息,如a_pvQData,是一个数组,它的每一个成员是一个类属指针(void*),这种命名既可以统一程序风格,又可以减少错误的产生(程序员都会把它当指针数组来使用)。本次整理的命名方法是微软公司采用的著名的匈牙利命名法衍生版本,考虑到C语言是嵌入式开发的“国际通用语言”,摒弃了C++部分,保持了文档的简单实用性。