C++ 代码编写标准的要点是:根据使用 C++ 的具体的环境和具体目的制定一套规则。因此,没有哪一种代码编写标准是符合所有需要和所有用户的。对于一个特定的应用程序(或者公司、应用领域,等等)来 说,一种好的代码编写标准当然比没有标准要好得多。话说回来,我看到过很多例子表明一种差劲的代码编写标准比没有标准还要更糟糕。
选择规则时,请切记细心,而且你必须对该应用领域有过硬的知识。一些最差劲的代码编写标准(“为了保护罪犯”,我不会提及这些 名字)的作者既没有过硬的 C++ 知识,而且对其应用领域也相对无知(他们是“专家”,而非开发人员),更误以为约束总是多比少好。针对前面这种误解的一个反例是:某些特性的存在会导致程 序员不得不使用甚至更糟糕的特性。怎么都好,请牢记,安全性、生产率等是设计和开发过程的所有部分的总和——而非各种语言特性的总和,更不是所有语言的总 和。
基于以上原因,我的推荐有三:
- 看 Sutter 和 Alexandrescu 合著的《C++ 代码编写标准(C++ Coding Standards)》。Addison-Wesley 出版,ISBN 0-321-11358-。这本书里有很多好的规则,但请把这些规则看作一套元规则(meta-rules)。更明确地说,就是把这本书当作一本关于“一 套优秀的代码编写规则应该是怎么样的”的指南。如果你正在写代码编写标准,不看这本书将是一大损失。
- 看 JSF 航空器 C++ 代码编写标准。 我认为这是一套关于编写对安全性和性能要求苛刻的代码的优秀规则。如果你从事嵌入式系统编程,那你应该考虑看一下这份标准。告诫:我参与了这些规则的制 定,所以你可以认为我带有偏心。话说回来,请将你对这份标准的建设性意见发给我。这些意见可能会推动这份标准的改进——所有优秀的标准都会定期地被重新审 视,并且根据经验和工作环境的变化而更新。如果你不是在构建苛刻的实时系统或者对安全性要求苛刻的系统,那你会觉得这些规则过于严格——毕竟这些规则并非 为你而设(至少并非所有这些规则都是为你而设的)。
- 不要使用 C 语言代码编写标准(即使已将其修改为 C++ 版),也不要使用 10 年前的 C++ 代码编写标准(即使在那时来说是很优秀的标准)。C++ 并非(仅仅)是 C,而标准 C++ 也并非(仅仅)是标准前的 C++。
原文地址:http://www.research.att.com/~bs/bs_faq2.html#coding-standard
分享到:
相关推荐
Verilog HDL 是一种广泛应用于硬件设计中的高级语言,它能够描述数字系统的结构、行为以及接口。为了提高代码的可读性、可维护性和一致性,制定一套规范化的Verilog HDL源代码编写标准是十分必要的。 #### 1. 文件...
基于模型的设计(Model Based Design,MBD)是一种先进的软件开发方法,它强调使用图形化模型来描述和设计系统,而非传统的文本编码...对于那些觉得编写代码过于繁重的工程师来说,MBD提供了一种高效且有效的替代方案。
C#是一种面向对象的编程语言,由微软公司推出,主要用于构建Windows应用程序、Web应用和服务、游戏以及移动应用等。在C#中编写计算器程序,开发者通常会利用Windows Forms或WPF(Windows Presentation Foundation)...
- **目的**:Java编码文档的主要目的是设定一套统一的编码标准,确保所有开发人员在编写代码时都能遵循相同的规则,减少理解和维护代码的难度。 - **规则与指南**:规则是必须遵守的规定,而指南则提供了推荐的...
在VB(Visual Basic)编程中,创建自定义控件是一种扩展功能的方式,它可以让你实现标准控件不具备的特定功能。本示例中的“如何编写数字时钟控件?”是一个关于利用VB开发用户自定义控件的教程,目标是创建一个显示...
CODESYS 运动控制系统是当前工业自动化领域中的一种流行的编程语言,通过使用 G 代码,可以实现对机器人的运动控制。那么,在 CODESYS 运动控制系统中,如何根据轨迹编写 G 代码呢? 首先,需要了解 G 代码的基本...
COM(Component Object Model,组件对象模型)是微软提出的一种用于软件组件之间通信的二进制和网络通信标准。它是Windows操作系统应用程序构建的基础,广泛应用于OLE(对象链接与嵌入)、ActiveX控件、系统服务等...
DAO(Data Access Object)模式提供了一种封装数据访问逻辑的方式,将业务逻辑与数据访问分离,使得应用更易于扩展和维护。通过定义通用的CRUD(Create, Read, Update, Delete)操作,可以减少重复代码的编写,同时...
这些知识通常在公司的编程规范中被忽视,而本书正是关注这一被忽略的主题,并且以一种有趣的方式呈现。书中没有给出绝对的规则,如限制函数长度或禁止解释性注释,而是提供了目标和判断标准,让读者根据实际情况做出...
总的来说,这款C#编写的代码生成工具,结合NVelocity的模板引擎,为开发者提供了一种强大、灵活且易用的代码自动化生成方案。它不仅能简化开发流程,还可以增强代码的可维护性和项目的整体质量,是现代软件开发中不...
首先,"大叮咬代码样式" 是一种旨在提高代码质量的实践准则。它可能包括命名规则(如变量、函数和类的命名应具有描述性且遵循一定的命名约定)、缩进和空格的使用(保持一致的缩进,避免滥用空格)、注释规则(清晰...
编写结构规则是另一种重要任务,它涵盖了数据流和控制流的规则,例如数据流源、数据流传递、数据流汇点和配置规则等。在编写这些规则时,需要使用EBNF(扩展巴科斯范式)语法和属性引用来定义规则的结构。 使用...
标题中的“51单片机编写的标准modbus协议通信模版”是指使用51系列单片机实现的遵循Modbus通信协议的代码模板。51单片机是经典的微控制器,广泛应用于各种嵌入式系统中,而Modbus则是一种广泛应用的工业通信协议,它...
Matlab程序编写标准是一份详细指导文件,主要目标是确保Matlab代码的正确性、清晰度、通用性和可维护性。这份指南与软件开发社区的最佳实践相一致,并特别针对Matlab语言的特性和历史进行了修改。其中推荐的编码指南...
编写代码时,业务逻辑应当清晰明了,避免含糊不清。此外,变量、代码块、数据结构、方法、类和模块等元素也需要按照逻辑进行组织。 3. **严谨可靠**:代码的严谨性决定了其可靠性。即便代码严格遵守了编码规范,但...
Matlab 是一种强大的编程语言,尤其适用于数据分析、信号处理、图像处理和机器学习等领域。为了高效地编写 Matlab 代码,有几种便捷的方法可以遵循。 首先,了解如何使用函数和脚本是关键。在 Matlab 中,函数是...
代码编写规范是项目质量控制的重要组成部分,旨在规范代码编写的标准和格式,以提高代码的可读性、维护性和重用性。以下是项目质量控制和代码编写规范的知识点: 一、代码走读与审查 代码走读和审查是项目质量控制...
另一种可能的方法是使用CSS Modules,它允许你编写传统的CSS文件,并通过模块化的方式导入到React Native组件中。CSS Modules提供了一种作用域限制的样式,避免了全局样式冲突,而且可以使用变量和函数,让样式更加...