首页 > 代码库 > 如何写出优美的函数?(附:三种最常用的命令规则)
如何写出优美的函数?(附:三种最常用的命令规则)
一 稳定
1 参数检测
2 内存释放后要置空为NULL
3 if语句始终有else分支
4 switch语句始终有default分支,每个case都有break,共用分支需要给出说明
5 尽可能少的写return,最好只在函数结尾处有一个return
6 三元运算符每一部分都加上括号
7 if-else,switch-case中分支要有大括号{}
二 可读
1 注释,一般包括:功能描述,参数解释,修改记录(修改时间,修改人,修改内容描述)
2 函数名:有意义的动宾短语,驼峰式命令
3 长语句分行书写,换行缩进,操作符行首
4 函数体一般不要超过一屏
5 函数体之间有且仅空一行
6 一行只声明一个变量
7 声明指针时*靠近类型,如int* p;
8 输入参数在前
9 if-else,switch-case等判断独占一行
10 switch中,每个case有且仅空一行
三 高效
1 参数初始化列表的效率比构造函数体内复制的效率高
2 多次使用但不变的值声明一个变量保存,避免重复的获取
3 前自增运算符比后自增运算符效率高
4 字符串为空判断不使用strlen,而是用if(!pStr || !(*pStr))
四 附录:三种编程命名规则(匈牙利法,小驼峰法,大驼峰法)
1 匈牙利命名:
开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。
例: long lsum = 0;"l"是类型的缩写;
2 小驼峰式:(little camel-case)
第一个单词首字母小写,后面其他单词首字母大写。
例: string firstName = string.Empty;
3 大驼峰式:(big camel-case)
每个单词的第一个字母都大写;
例: string FirstName = string.
1 参数检测
2 内存释放后要置空为NULL
3 if语句始终有else分支
4 switch语句始终有default分支,每个case都有break,共用分支需要给出说明
5 尽可能少的写return,最好只在函数结尾处有一个return
6 三元运算符每一部分都加上括号
7 if-else,switch-case中分支要有大括号{}
二 可读
1 注释,一般包括:功能描述,参数解释,修改记录(修改时间,修改人,修改内容描述)
2 函数名:有意义的动宾短语,驼峰式命令
3 长语句分行书写,换行缩进,操作符行首
4 函数体一般不要超过一屏
5 函数体之间有且仅空一行
6 一行只声明一个变量
7 声明指针时*靠近类型,如int* p;
8 输入参数在前
9 if-else,switch-case等判断独占一行
10 switch中,每个case有且仅空一行
三 高效
1 参数初始化列表的效率比构造函数体内复制的效率高
2 多次使用但不变的值声明一个变量保存,避免重复的获取
3 前自增运算符比后自增运算符效率高
4 字符串为空判断不使用strlen,而是用if(!pStr || !(*pStr))
四 附录:三种编程命名规则(匈牙利法,小驼峰法,大驼峰法)
1 匈牙利命名:
开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。
例: long lsum = 0;"l"是类型的缩写;
2 小驼峰式:(little camel-case)
第一个单词首字母小写,后面其他单词首字母大写。
例: string firstName = string.Empty;
3 大驼峰式:(big camel-case)
每个单词的第一个字母都大写;
例: string FirstName = string.
如何写出优美的函数?(附:三种最常用的命令规则)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。