注:阿里已经有详细全面的程序规范了
命名
- 驼峰法
单词之间首字母大写,而且一般来说,方法都是以一个动词开头接名词,来直观表达函数的功能,如:
getUserInfo
— 获取用户信息updateUserInfo
— 更新用户信息deleteUser
— 删除一个用户
但是如果是缩写那么一般建议该单词全部大写:getQQNum
— 获取QQ号码
- 私有方法
私有方法应该是以一个下划线开头:_
以直观区分公有和私有的方法(ps,有些语言如java
就不建议方法名加符号)
private function _getUserInfo
— 获取用户信息private function _updateUserInfo
— 更新用户信息private function _deleteUser
— 删除一个用户
- 代码块之间的大括号
这个是习惯问题,并不算规范,例如
if($boolean == TRUE){ //个人推荐写法
//code
}else if($boolean == FALSE){
//code
if($boolean == TRUE)
{ //这一行没有什么有效信息,个人觉得没必要
}//右括号建议单独占一行,以直观观察代码块的区域
/*
有个折中的办法:
代码比较长的时候左括号可以单独占一行
代码较少的时候左括号不单独占一行
*/
以下为几个简单的正则表达式来处理程序,sublime和 notepad+可以直接ctrl+h
替换:
* \)[\s]*\n[\s]*{
替换为 \){
(替换大括号换行的情况)
* \n[\s]*(\n)+
替换为 \n
(替换多行空格)
尽量少的空行
如果函数过长造成阅读困难需要加些空行,不如考虑拆分成多个函数,如果一定要加空行, 不要有两行以上的空行。曾经接手过一个项目,里面有一个php文件将近3000行的代码,调整了大括号的格式和空行以及删除冗余注释代码之后,没有修改任何代码的前提下 精简了一千多行。 另外,函数内部或者主流程处理也可以酌情添加空行,如变量初始化 和 业务流程之间。
注释应该精简,必要,参考以下建议:
- 每个函数简单注明此函数的功能,以及调用注意事项(如有)
- 注明此处代码块为何用这种方法实现,能不能换其他办法
- 较长的复杂代码块 可以考虑使用如下方式:
//------------这段代码用来xxx-------- // some code // some code // some code // some code //------------over----------------
- 进行功能代码复用
当发现程序里很多相同的代码块的时候 ,有机会有资源的情况下请务必考虑下整理代码,进行复用。不要想着留给后人解决,以后接手的人不一定能掌控全局的代码。况且新人接手时本身对项目不熟悉,如果代码冗余度太大则会加大接手和维护的难度
总结
以上基本上都是一些建议性的要求,基本上还是要按照团队的整体风格来,除非太不规范才进行整体调整。目的还是希望有规范地写代码, 不要随心所欲