CPP {CPP编程规范, CPP命名规范}

CPP {CPP编程规范, CPP命名规范}

CPP编程规范

错误

#函数的参数 不要写成是个函数#
即不要写Func( Func_0())这样的代码;
因为对于Func( D, F0(), D, F1(), D) 其中三个D的值 并不是你想象的那样从左到右 (比如第一个D 是没有收到F0/F1函数影响的, 这是错误的);
参见 @LINK: (https://editor.csdn.net/md/?not_checkout=1&articleId=136750205)-(@LOC_0);

CPP命名规范

笔记

对于`AaaBbb`文件, 他的位置是`CccDdd/AaaBbb`, 此时目录要写成*全大写*(`CCCddd`)
同时这个文件 要使用`CCCddd`的命名空间;
否则的话 命名空间的名字 是驼峰的 不是大写的 (比如该文件里 还有子命名空间 参考__SUPIMO文件);


命名规则: {驼峰大写`AaBb_CcDd`, 驼峰小写`aaBb_ccDd`, 起伏大写`AAbb_CCdd`, 起伏小写`aaBB_ccDD`};
 . 命名中 如果使用`_`作为*中间连接符*, 你必须保证至少含有2个单词, 即形如`AaBb_?` 否则(`驼峰小写aa_bb 和 起伏小写aa_bb`就冲突了);
 . 起伏小写 必须形如`aaBB...` 不可以是`aa`, 否则他和驼峰小写就冲突了;

`_驼峰` 他一定是参数(宏参数/模板参数/函数参数);
`驼峰_` 一定是*类型*(using别名/class类/模板参数的类);
`__?`: 临时/局部的东西;
`___?`: 模板/正式的东西;

宏: 
 +(命名规则): `起伏`;
 `.` 虽然说他可能和系统宏(比如`NULL`)冲突, 但大概率不会的
 `.` 全局宏 用大写, 否则用小写;
  . 最好不要用单个单词, 因为此时驼峰和起伏就冲突了;
 
命名空间: 
 +(命名规则): `起伏_`;
 `.` 全局命名空间 用*起伏大写*, 内嵌命名空间 用*起伏小写*;
  . 最好不要用单个单词, 因为此时驼峰和起伏就冲突了;


类型(class/struct/using/typedef):
 +(命名规则): `驼峰_`
 
变量: 
 +(命名规则): `驼峰`
	
函数: 
 +(命名规则): `驼峰`

参数(函数参数/模板参数), 必须形如`_驼峰小写`;

起伏大写: 宏
起伏大写_: 命名空间
起伏小写: {函数类的static, } (起扩大作用域的作用)
起伏小写_: 
驼峰大写: 类的public
驼峰小写: 类的private, 局部变量, 全局static
驼峰大写_: 类名
驼峰小写_: 
_?: 参数(宏参数,模板参数,函数参数)
__?: 临时使用;
___?: 模板(比如使用别人的东西);
?加_: 类型

如果重名, 末尾(非`_`)字符重写 比如`_?x_`重名了 改成`_?xx_`;

@DELI;

#define AAbb_ "Hh"
namespace AAbbb_{
    namespace AAbbb_{

    }
}

//>> 非static的全局
template< class _aaBb, int _aaBbb> array<_aaBb, _aaBbb> AaBb;
template< class _aaBb, int _aaBbb> void AaBbb( int _aaBbbb){
    //>> 函数内 你想提升作用域, [驼峰小写->驼峰大写->起伏小写->起伏大写];
}
using AaBbbb = int;
template< class _AaBb, int _AaBbb> struct AaBb_{ // 模板参数大写, 否则太容易重名
public: // 非成员
static int AAbb;
static void AAbb(){}
using AaBb_ = int;
struct AaBb_{};
private: // 非成员
static int aaBB;
static void aaBBB(){}
using aaBBBB = int;
struct aaBBB{};

public: // 成员
    const int AaBb;
    void AaBbb(){}
private: // 成员
    const int aaBb;
    void aaBbb(){}
};
static bool __firstENTERED = 1;
if( __firstENTERED){
... // 比如connect, 即只会执行1次的函数;
}

//>> static 全局
static int aaBb = 1;
static void aaBbb(){}



@DELI;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值