• 变量名命名的艺术


    刚接触 C 语言的你们,常常看见 int a =3;char c; … 这有错吗?当然没有,但是如果在面试大厂时还是那样,结果将是与大厂无缘 ~



    变量的命名对比

    • 这一节好好聊聊变量名的那些事,初学 C 语言时的你见到的变量名通常如下图。作为初学者,大部分教学视频里这样写只是为了让你理解,但这绝不能模仿。因为变量名的命名直接决定软件构件的效果,代码的性能,安全性,效益,bug … 好的变量名会带来长期的效益,所以变量名的命名是有 “艺术” 的 ~
    #include
    int main() {
    	int a = 1011;         //定义了一个整形变量 a = 10
    	double b = 2000.09;      //定义了一个浮点数变量 b = 2000.09 		
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 看到以上的命名,你直观获取到的信息只限于注释中的内容,但若是按下方的去命名,你一眼就可以看明白这个变量到底代表着什么 ?如果一眼看不明白,请百度翻译,谢谢 ~
    #include
    int main() {
    	int person_number = 1011;                   //定义了一个整形变量 人的编号 = 1011
    	double person_wechat_balance = 2000.09;     //定义了一个整形变量 人的微信余额 = 200.09
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    函数的命名对比

    • 当然,命名规则绝不限于变量,还有函数名及函数里面的参数,比如编写一个判断是否为闰年的函数。对比以下两种的命名方式,哪种你感觉见其形,知其义
    #include
    //写法一
    bool fun(int y) {
    	if (不是闰年)       //这里就不写具体的判读条件了,这节不纠结于代码本身
    		return false;
    	if (是闰年)
    		return true;
    }
    
    //写法二
    bool is_leap_year(int year) {       //leap year 百度翻译结果为:闰年
    	if (不是闰年)
    		return false;
    	if (是闰年)
    		return true;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    什么是好的命名?

    • 可读性,容易记,恰如其分,一眼就能看出来这是干啥,比如下图所展示的
    int person_number = 1011;                   
    double person_wechat_balance = 2000.09;    
    
    bool is_leap_year(int year) {       //leap year 百度翻译结果为:闰年
    	...
    	return true;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 在 C 语言中常见的还是下划线命名法,即名称中的每一个逻辑断点都用一个下划线来标记,其中没有大写字母。例如:print_employee。下划线命名法是随着 C 语言的出现流行起来的,在UNIX / LIUNX这样的环境,以及 GNU 代码中使用非常普遍。
    • 但在 Java 中,常用驼峰命名法
      小驼峰命名法:除第一个单词之外,其他单词首字母大写,例如:myFirstNamemyLastName ,常用于变量名,函数名。
      大驼峰命名法(又称为帕斯卡命名法):相比小驼峰法,大驼峰法把第一个单词的首字母也大写了,例如:public class DataBaseUser,常用于类名,属性,命名空间等。

    命名误区

    • 现在你可能会认为不就是详细吗 ?简单,比如写一个函数判断 他是不是2022年好莱坞最帅的男演员 ,下面的函数名确实可以让你一眼明白他要干什么,但你不觉得它太长了吗 ?长 和 完整 要学会取舍 ~
    #include 
    
    bool is_the_most_handsome_actor_in_Hollywood_in_2022(🙋‍♂️){
    	...
    	return true;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 可以换一种方式,牺牲长度,但加注释
    #include 
    
    /* 判断他是否为 2022 年好莱坞最帅的男演员 */
    bool is_most_handsome_actor(🙋‍♂️){     
    	...
    	return true;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 还有一点,也是很常见的一点,定义变量名别用拼音!!!比如,定义火车的速度,以下两种,自己对比,引以为戒!
    double huocheshudu = 120;
    
    double train_velocity = 120;     //单位:km/h
    
    • 1
    • 2
    • 3

    最后提醒一点,进入公司以后,你写的代码不是只有你一个人看,而是一堆人去看,当你依然用着 int a,int b;时,你的同事和老板可能会用 ⌨️ 在你头上一顿爆扣 …

    请添加图片描述

  • 相关阅读:
    塔防海岸线用户协议
    深度解读《深度探索C++对象模型》之数据成员的存取效率分析(一)
    【ES】一、ES入门及JavaAPI使用
    C++-逆向分析-IDA-IDC脚本-修改指定地址的函数名-函数重命名
    Android 音频框架 基于android 12
    ubuntu 16.04成功安装meteor
    【2023高教社杯数学建模国赛】ABCD题 问题分析、模型建立、参考文献及实现代码
    分享akshare可转债数据采集的执行过程
    黑马学Docker(二)
    P2404 自然数的拆分问题
  • 原文地址:https://blog.csdn.net/qq_48795733/article/details/126771218