【C++】【命名规范】你的代码风格是哪种?(驼峰命名法、下划线命名法、帕斯卡命名法、常量命名法等)

这篇具有很好参考价值的文章主要介绍了【C++】【命名规范】你的代码风格是哪种?(驼峰命名法、下划线命名法、帕斯卡命名法、常量命名法等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

        在 C/C++ 中,类名、接口名、变量名和函数名等的命名规则是比较自由的,开发者可以根据自己的喜好选择合适的命名方式。但是,为了保持代码的可读性和可维护性,我们通常遵守一些命名规则。

        例如驼峰命名法、下划线命名法、帕斯卡命名法、常量命名法等,此外本文末尾还延申了一些常见的代码书写风格(例如{}),以及两个对代码执行有影响的编程习惯(采用const type &,采用NULL=p)。

一、常见的命名法

1.驼峰法命名法

        驼峰法是一种较为常见的变量名和函数名命名规则,其命名方式是将每个单词的首字母大写,其他字母小写(第一个单词首字母小写)。例如:

int myNumber;
void doSomething();

        这是一种可读性较高的命名方式,使得变量名和函数名清晰易懂。

2.下划线命名法

        下划线命名法是一种将单词用下划线 _ 分隔的命名方式。它可以增加变量名和函数名的可读性,特别是在变量名和函数名比较长时,更容易让人理解。例如:

int my_number;
void do_something();

3.帕斯卡命名法

        帕斯卡命名法是一种把每个单词的首字母都大写的命名方式。它与驼峰命名法相似,不同之处在于,帕斯卡命名法中每个单词都必须大写。例如:

class MyClassName {
  // ...
};

class MyInterfaceName {
  virtual void doSomething() = 0;
};

4.匈牙利命名法

        匈牙利命名法以数据类型作为前缀,后跟描述变量用途的单词。例如:

int iCount;
float fPrice;
char cFirstChar;

这种命名方式可读性较强,但随着代码的复杂性增加,命名长度会大大增加。

5.短划线命名法(不建议使用

短划线命名法和下划线命名法类似,只不过是使用短划线 - 代替了下划线 _

let first-name = "John";
let last-name = "Doe";

        请注意,使用短划线命名法有时也会导致代码的可读性降低,因为它在一些语言和环境中被用作减号的语法符号。因此,在选择命名规范时,需要考虑到其可读性和可理解性,以及特定语言和环境的习惯和规范。

6.全部大写字母命名法

这种命名方式是将整个名称都用大写字母表示,例如:

MY_VARIABLE = "some value"
# 使用全部大写字母来表示一个变量名,但这不是常量

MY_LIST = [1, 2, 3]
# 使用全部大写字母来表示一个列表变量名

7.常量命名法

        全部大写字母命名法和常量命名法本质上是相同的,都是将标识符的每个字母都转换为大写字母来表示常量。在常量命名时,也可以采用上述两种命名方式中的一种,例如:

const int MAX_NUMBER = 100;
const double PI = 3.1415926;

        无论采用哪种命名方式,命名都应该表意明确、易读易懂,有助于提高代码的可读性和可维护性。在编写代码时,应该遵循命名规则,保持代码的一致性和整洁性。

二、在C/C++中的习惯使用

1.类名和接口名

        在 C++ 中,类名和接口名应当清晰明了、易读易懂,通常采用帕斯卡命名法。因为类名和接口名是代码中的重要组成部分,它们代表着特定的对象或概念,应该使用名词或动词+名词等形式来描述。例如:

class MyClassName {
  // ...
};

class MyInterfaceName {
  virtual void doSomething() = 0;
};

        需要注意的是,类名和接口名应当尽量简洁,并描述清晰明了的概念,同时避免使用过长的名称。此外,为了保持命名的一致性,类名和接口名也可以采用其他命名方式,例如驼峰命名法或下划线命名法。

2.函数名

在 C++ 中,函数名应该清晰明了、易读易懂,通常采用驼峰命名法或下划线命名法。

驼峰命名法的命名规则是将每个单词的首字母大写。例如:

void myFunction();
void doSomethingWithData();

下划线命名法的命名规则是将单词之间用下划线 _ 连接。例如:

void my_function();
void do_something_with_data();

        需要注意的是,无论采用哪种命名方式,函数名应该清晰明了、易读易懂,可以用动词或名词等形式表示函数的功能。同时,函数名也应该符合代码的命名规范和风格,保持命名的一致性。

3.变量名

在 C++ 中,变量名应该清晰明了、易读易懂,通常采用驼峰命名法或下划线命名法。

驼峰命名法的命名规则是将每个单词的首字母大写。例如:

int myVariable;
float myFloatVariable;

下划线命名法的命名规则是将单词之间用下划线 _ 连接。例如:

int my_variable;
float my_float_variable;

        需要注意的是,无论采用哪种命名方式,变量名应该清晰明了、易读易懂,可以用名词或形容词等形式表示变量的含义和作用。同时,变量名也应该符合代码的命名规范和风格,保持命名的一致性。

4.枚举命名

使用帕斯卡命名法,命名枚举名;使用常量命名法,命名枚举值。

以下是一些枚举命名的例子:

enum DayOfWeek {    // 一周的日
  SUNDAY,
  MONDAY,
  TUESDAY,
  WEDNESDAY,
  THURSDAY,
  FRIDAY,
  SATURDAY
};

三、推荐、扩展和延申

推荐代码风格展示:

  • 类名/接口名采用帕斯卡命名方式;
  • 函数名采用驼峰命名方式;
  • 变量名采用下划线命名方式;
  • 常量采用常量命名方式
class MyClass { // 类名使用帕斯卡命名法
public:
    void myFunction(); // 函数名使用驼峰式命名法
private:
    int my_variable; // 变量名使用下划线命名法
    const int MY_CONSTANT = 100; // 常量名使用全大写字母,单词间使用下划线分隔
};

        其实,个人觉得只要自己习惯(能见名知意)就好,没有说一定非用哪一种;不过不建议出现这种情况,风格经常变动(其实就是乱写,例如一个程序里函数名命名出现好几种不同的风格)。

扩展:

观察下面两种风格的代码,注意区别{}的使用。

代码1:


    if (something_is_true) 
    {
        // do something
    } 
    else 
    {
        // do something else
    }

代码2: 


    if (something_is_true) {
        // do something
    } else {
        // do something else
    }

思考:看看你更喜欢用哪一款?(还是一样,不建议混用!) 

延申:

         以上都是风格问题,其实本质并不对代码执行造成影响(影响的只是人的心情,尤其是看别人的代码)。下面延申两个案例,这里不仅仅是代码风格的问题,也可能会影响程序的执行结果。

案例1:

        在传递参数时加上const,防止误修改原先值。


void process_string(const string &str) {
  cout << "The length of the string is: " << str.length() << endl;
}

        在函数中使用 const string & 参数能够提高程序的效率和性能,但是不能修改输入的字符串,因为该参数是以引用的方式传递的。

案例2:

        在C语言中有种编码习惯是比较表达式把常量放在前面,这样如果你把 == 写成了 = (赋值操作符),编译器就会报错。

int *p = NULL;
if (p == NULL) {
  printf("p is null\n");
}

// 或者用 Yoda 表达式
if (NULL == p) {
  printf("p is null\n");
}

        当然,在使用 C++11 及以上版本中,推荐使用 nullptr 关键字来代替 NULL 指针常量。(C++11及以上,可不用关注该习惯。)

总结:

        本文主要分享了一些常见的命名风格习惯(例如驼峰命名法、下划线命名法、帕斯卡命名法、常量命名法等),向读者推荐了C/C++中类名、接口名、函数名、变量名和常量的常见命名风格,以及扩展了一些常见的代码书写风格(例如{}),最后延申了两个对代码执行有影响的编程习惯。

        希望本文能给各位读者带来些许帮助,同时也欢迎热心的码友提供自己的见解分享在评论区!文章来源地址https://www.toymoban.com/news/detail-470287.html

到了这里,关于【C++】【命名规范】你的代码风格是哪种?(驼峰命名法、下划线命名法、帕斯卡命名法、常量命名法等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 代码命名规范的套路是真优雅呀,命名如歌,代码如诗

    日常编码中,代码的命名是个大的学问。能快速的看懂开源软件的代码结构和意图,也是一项必备的能力。那它们有什么规律呢? Java项目的代码结构,能够体现它的设计理念。Java采用长命名的方式来规范类的命名,能够自己表达它的主要意图。配合高级的IDE,可以减少编码

    2024年02月04日
    浏览(45)
  • 代码命名规范是真优雅呀!代码如诗

    日常编码中,代码的命名是个大的学问。能快速的看懂开源软件的代码结构和意图,也是一项必备的能力。那它们有什么规律呢? Java项目的代码结构,能够体现它的设计理念。Java采用长命名的方式来规范类的命名,能够自己表达它的主要意图。配合高级的IDE,可以减少编码

    2024年02月02日
    浏览(39)
  • laravel数据库模型蛇形命名自动转换驼峰命名

    2023年6月20日15:10:59 我看了各种方案,但是多多少少都有各种问题 建议使用 GitHub - kirkbushell/eloquence: A drop-in library for certain database functionality in Laravel, that allows for extra features that may never make it into the main project. 安装 composer require kirkbushell/eloquence 添加到 provider 添加 eloquence servi

    2024年02月10日
    浏览(44)
  • 探索 Python 代码规范:编码风格与格式化指南详解

    在编写 Python 代码时,遵循一套明确的编程规范至关重要,这不仅可以提高代码的可读性和可维护性,还能帮助团队中的每个成员理解彼此的工作。本文将详细介绍 Python 编程中的几个关键规范,包括代码格式、命名约定和最佳实践。 PEP 8 是 Python 社区广泛接受的风格指南,它

    2024年04月25日
    浏览(60)
  • 好的代码风格,如同书法,让你的代码更加漂亮

    很多初学者的代码其实都不够“漂亮”,那是因为没有养成好的编码习惯。本篇博客以C语言为例,总结一些好习惯。其实,很多习惯都是肌肉记忆,举个例子:请你写一个程序,输入2个整数并输出它们的和。有些朋友可能写出来是这个样子。 我写这段代码,是在模仿有些朋

    2024年02月01日
    浏览(53)
  • Vue实战【Vue开发中的的前端代码风格规范】

    大家好,上一期的导航守卫篇不知大家在私底下是否进行了尝试?之前收到好多小伙伴的私信说什么时候能给大家出一期前段代码风格规范呀,有的同学觉得自己的代码编写的不是很漂亮,虽然自己知道是干啥,但是可读性一点也不高;今天博主也是根据自己多年的开发经验

    2023年04月09日
    浏览(47)
  • Mybatis/Mybatis-Plus驼峰式命名映射

    目录 一、mybatis驼峰式命名 二、mybatisPlus默认开启驼峰命名映射 方法一: 使用前提:数据库表设计按照规范“字段名中各单词使用下划线\\\"_\\\"划分”; 使用好处:省去mapper.xml文件中繁琐编写表字段列表与表实体类属性的映射关系,即resultMap。 示例: 方法二: mybatis-config.xml文

    2024年02月14日
    浏览(47)
  • 在springboot项目中配置数据库下划线命名映射为java的驼峰命名时出错

    在使用spirngboot集成mybaits的时候,想要开启命名映射,如图配置 项目中配置了mybatis-config.xml mybatis-config.xml文件中的配置 错误信息 Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method ‘sqlSessionFactory’ threw exception;

    2024年02月04日
    浏览(41)
  • 【C语言趣味教程】(4) 变量:代码注释 | 变量的声明 | 初始化与赋值 | 变量的命名 | 关键字 | 标识符 | 变量名的命名规范

      🔗 《C语言趣味教程》👈 猛戳订阅!!! 0x00 引入:注释的作用 \\\"程序员最讨厌两种人:一种是不写注释的人,一种是让我写注释的人。\\\" 相信大家对注释早已有所耳闻,对于注释,C 语言有两种注释风格,我们下面会逐个讲解。   但在这之前,我们先来了解了解注释的作

    2024年02月15日
    浏览(52)
  • 哪种模式ip更适合你的爬虫项目?

    作为一名爬虫程序员,对于数据的采集和抓取有着浓厚的兴趣。当谈到爬虫ip时,你可能会听说过两种常见的爬虫ip类型:Socks5爬虫ip和HTTP爬虫ip。但到底哪一种在你的爬虫项目中更适合呢?本文将帮助你进行比较和选择。 首先,让我们来了解一下Socks5爬虫ip和HTTP爬虫ip的基本

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包