C++命名规则

如果想要有效的管理一个稍微复杂一点的体系,针对其中事物的一套统一、带层次结构、清晰明了的命名准则就是必不可少而且非常好用的工具。

活跃在生物学、化学、军队、监狱、黑社会、恐怖组织等各个领域内的大量有识先辈们都曾经无数次地以实际行动证明了以上公理的正确性。除了上帝(设它可以改变世间万物的秩序)以外,相信没人有实力对它不屑一顾。

在软件开发这一高度抽象而且十分复杂的活动中,命名规则的重要性更显得尤为突出。一套定义良好并且完整的、在整个项目中统一使用的命名规范将大大提升源代码的可读性和软件的可维护性。

在引入细节之前,先说明一下命名规范的整体原则:

同一性

在编写一个子模块或派生类的时候,要遵循其基类或整体模块的命名风格,保持命名风格在整个模块中的同一性。

标识符组成

标识符采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当准确。

最小化长度 && 最大化信息量原则

在保持一个标识符意思明确的同时,应当尽量缩短其长度。

避免过于相似

不要出现仅靠大小写区分的相似的标识符,例如“i”与“I”,“function”与“Function”等等。

避免在不同级别的作用域中重名

程序中不要出现名字完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但容易使人误解。

正确命名具有互斥意义的标识符

用正确的反义词组命名具有互斥意义的标识符,如:"nMinValue"和"nMaxValue","GetName()" 和 "SetName()" ....

避免名字中出现数字编号

尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。这是为了防止程序员偷懒,不肯为命名动脑筋而导致产生无意义的名字(因为用数字编号最省事)。

image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大闲人柴毛毛

三分钟理解“简单工厂模式”——设计模式轻松掌握

实际问题: 由于超市隔三差五就要办促销活动,但每次促销活动的方式不一样,所以需要开发一个软件,营业员只要输入原价再选择活动类型后,就能计算出折扣以后的价钱。 普...

37312
来自专栏PPV课数据科学社区

【学习】《R实战》读书笔记(第四章)

读书会是一种在于拓展视野、宏观思维、知识交流、提升生活的活动。PPV课R语言读书会以“学习、分享、进步”为宗旨,通过成员协作完成R语言专业书籍的精读和分享,达到...

2965
来自专栏带你撸出一手好代码

JavaScript贪食蛇游戏制作详解

之前闲时开发过一个简单的网页版贪食蛇游戏程序,现在把程序的实现思路写下来,供有兴趣同学参考阅读。 代码的实现比较简单,整个程序由三个类,一组常量和一些游戏逻辑...

3669
来自专栏C语言及其他语言

[每日一题]方程的根

今天的每日一题是大家小学、初中、高中、大学都需要会的一种数学题,但只要我们会了代码,一切都只要输入数据就行,答案秒出,是不是简单了很多呢 题目描述 求方程 的...

2473
来自专栏趣谈编程

冒泡排序

面试官: 写一个冒泡排序吧 冒泡排序是一个比较经典和简单的排序算法,今天我们从从算法本身,时间复杂度以及稳定性方面来看看冒泡排序,这些方面也是研究其他排序算法的...

19310
来自专栏章鱼的慢慢技术路

计蒜客2018 蓝桥杯省赛 B 组模拟赛(一)

3533
来自专栏数据结构与算法

P2051 [AHOI2009]中国象棋

题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大...

2795
来自专栏灯塔大数据

技术 | Python从零开始系列连载(二十六)

为了解答大家学习Python时遇到各种常见问题,小灯塔特地整理了一系列从零开始的入门到熟练的系列连载,每周五准时推出,欢迎大家学积极学习转载~

762
来自专栏AI研习社

用在数据科学上的 Python:你可能忘记的 8 个概念

如果你在编程的时候发现自己一遍又一遍的搜索同一个问题、概念或者语法,那么你并不孤单。

951
来自专栏工科狗和生物喵

【我的漫漫跨考路】有生之年·调完了BUG--冒泡排序C++版本

正文之前 今天去牛客网试了试一些实战编程题,感觉贼有意思,但是也很难,挑了个成绩排序的算法题我就开始怼! 对我一个编程经验并不是很丰富的人来说,确实算是个挑战了...

3706

扫码关注云+社区