命名规范

优雅的命名规范

命名不规范是代码可读性、可维护性、可理解性差的罪恶之源。遵守大家都习惯的命名规范能够大大提高可读性,而且你也不用在命名上浪费时间了。我特别喜欢一个词elegant,写出优雅的代码,亦或优雅地写代码。

变量命名前缀篇

变量命名我习惯使用前缀表示类型,这样能让人一眼就知道你这个变量的类型,而不用去跳转到声明处。

  • bool布尔: b
  • byte字节:by
  • char字符:ch
  • string字符串: str
  • char[]字符数组: sz
  • int整数: i或者n
  • long长整数: l
  • long long长长整数: ll
  • float浮点数: f
  • double双精度浮点数: lf
  • WORD单字: w
  • DWORD双字: dw
  • 指针:p
  • 数组:a
  • 结构体:st或t
  • 类:c
  • 枚举:e
  • 类成员变量:m_
  • 静态变量:s_
  • 全局变量:g_
  • 函数: fn

函数命名动词篇

我习惯使用小写动词+大写名词的驼峰法,例如getPswd。
你还在为不知道取什么名字而烦恼吗,试试下面的方法:
使用反义词:

  • get/set
  • take/release
  • push/pop
  • add/insert/remove
  • new/delete
  • create/destroy
  • alloc/free
  • open/close
  • start/stop
  • read/write
  • recv/send
  • up/down
  • next/prev
  • upload/download
  • load/unload
  • lock/unlock
  • show/hide
  • enter/leave

其它常用动词

  • mod(modify的缩写)
  • save
  • change
  • swtich
  • query
  • search
  • is
  • check
  • test
  • cut
  • copy
  • undo
  • unset
  • kill
  • exit
  • bind
  • clone
  • clear
  • handle
  • make
  • find
  • rfind
  • replace
  • cvt(convert的缩写)
  • 还有一个万能的do
  • 对于消息响应函数习惯以on开头

这么多动词总有一款适合你的,实在不行请有道下,切忌用拼音。

头文件防止重复包含

#ifndef XXX_H  
#define XXX_H  
//...  
#endif // XXX_H

导入导出宏

#define XXX_CALL _stdcall
#ifdef XXX_LIB
    #define XXX_API 
#else
    #ifdef XXX_DLL
        #define XXX_API extern "C"__declspec(dllexport)
    #else
        #define XXX_API extern "C"__declspec(dllimport)
    #endif
#endif

结构体字节对齐方式

#ifdef WIN32
    #pragma pack(push)
    #pragma pack(1)
    #define GCCPACKED
#else
    #define GCCPACKED __attribute__((packed))
#endif

// 在此声明结构体
struct XXX{
//...
}GCCPACKED;

#ifdef WIN32
#pragma pack(pop)
#endif

使用命名空间

namespace XXX{
//...
}

原则篇

1、命名要尽可能的精简,臭长代码没人爱;
2、一眼看不出类型和作用的变量不是好命名;
3、一眼看不出作用的函数不是好命名;
4、杜绝三次以上重复代码,如果出现请考虑使用#define、inline、function代替;
5、杜绝三层以上嵌套,可以使用如下方式替代:

if (!b1)
    return;
do1();

if (!b2)
    return;
do2();

if (!b3)
    return;
do3();

而不是

if (b1){
    do1();
    if (b2){
        do2();
        if (b3){
            do3();
        }
    }
}

6、多余注释代码请删除干净,没有人会再重新启用你的烂代码;
7、switch大量的case可以考虑使用宏定义或者表驱动;
8、不要制造庞然大物的类、文件,滚屏真的看的眼花;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ithewei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值