构建知识体系之一--PHP代码规范
首秀啊!-----PHP代码规范
之前的博客“构建知识体系“中,提到了很多细节性的问题,接下来就以上个博客为纲,细细的讨论一下:
每个人,每个公司的规范可能不同,我只说一下自己的规范哈!
提高代码的可读性:
- 给代码加注释,读一份没有注释的代码,就像是唐僧西天取经,不经历九九八十一难,你就是看不懂!
- 给代码加空行,善于利用空行的代码就像是有节奏感的音乐,多一行太多,少一行太少!
- 30秒法则:其他的程序员完全理解你的成员函数代码,不超过30秒,否则,这份代码就比较难以维护
- 一行代码不要超过120个字符,否则换行缩进,一个函数最好在一个屏幕的大小内显示,最长不超过三个屏幕
- 一行代码只做一件事,同理一个函数也只负责一个功能。
- 循环比较大的时候不要使用$i这样的,起个有意义的名字
- while,if,else嵌套不要超过三层,要不30秒怎么读的懂?
- 一个函数最少的注释应该有作用、所有参数、所有返回值,最好注释上作者(追究责任)
- 所有的缩进均为4个空格而非tab,所有的换行符均为unix换行符,为保证100%正确可以开启IDE的显示空白和不可见字符的功能
提升代码效率和健壮:
- 如未使用DB类的公共处理,则SQL语句查询前,应使用mysql_escape_string对查询串进行转义
- 在第一个引入的文件中定义好包含绝对路径的常量,其他引入的文件路径都常量开始
- 所有的类常量、静态变量、成员变量都应该提前申明,在申明的地方注释说明其用途,并将其值初始化为一个安全值
- 如未使用DB类的公共处理,则SQL语句查询前,应使用mysql_escape_string对查询串进行转义
- 调用外部接口和函数,要放在try/catch块中,也要检查返回值, 做足够健壮的错误处理,记录日志
- PHP文件尾部不闭合避免PHP标签避免输出多余的空行!!!
命名规则:
- 命名要有意义,有注释,其他程序员读的时候,一眼就能看懂,读懂,记住
- 所有不区分大小写的PHP关键字均使用小写,例如:true false null break等等
- 所有的变量、类成员变量、函数名、类成员函数名均采用驼峰式命名规范
- 所有的常量、类常量、静态变量等全部使用大写字母,下划线分割单词
- private和protected属性的类静态变量、类成员变量和类成员函数名在原有命名规范的基础上以下划线开头
- 文件名由字母、数字和下划线组成,首字符必须为字母,如果文件是一个类,则文件名应该为"类class.php",如"DBConfig.class.php",否则文件名全部为小写,多个单词下划线分隔,如"post_list.php"
- 类名称采用帕斯卡命名规则,即所有单词首字母大写,括号跟在类名后边间隔一个空格
- 类常量全部大写,用下划线分隔单词
争论性
- 所有的"{"左大括号都以空格紧跟前文,不能独立成为一行
- 对于关联数组,我们鼓励将代码分成多行,缩进每一行的KEY以对齐,"=>"左右
有很多没有写的,希望多多建议啊,让我们代码越来越规范
---本规范参照福州车友网络科技有限公司代码规范
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn