- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PHP编码规范文档
PHP编码规范
目录
1 目的 2
2 使用角色 2
3 适用范围 2
4 文档格式定义 2
5 命名 2
5.1 命名的统一原则 2
5.2 常量命名 2
5.3 变量命名 2
5.4 子程序命名 3
5.5 接口命名 3
5.6 类命名 3
5.7 网站默认首页命名 4
5.8 文件命名 4
5.9 数据库方面命名 4
6 注释 4
6.1 总原则 4
6.2 规范 4
6.2.1 类的注释 4
6.2.2 接口的注释 5
6.2.3 子程序的注释 5
7 代码书写风格 6
7.1 总原则 6
7.2 控制结构 6
7.3 单条语句 7
7.4 注释 8
7.5 子程序 8
7.6 类 9
8 PHP性能规范 9
目的
提高开发效率;降低程序的复杂度;提高代码可读性。
使用角色
适用范围
所有的PHP程序开发人员,PHP代码质量检测人员
文档格式定义
实例:
以此背景色显示的表格内容 建议规范,如下形式的语句为建议性的规范,不强制要求(包括字体颜色与“(建议)”双标识):
用空行进行段落分隔(建议)。
命名
命名的统一原则
反映现实世界的问题
常量命名
具名常量是根据所代表的抽象实体而不是它所代表的数字来命名
全部大写,使用“_” 分隔单词
例子:
define(CMS_ROOT, dirname(__FILE__)); 变量命名
全局变量以“g_”开头,非全局变量不要以“g_”开头
例子:
$g_staticDel
$memberCount 变量名反映了现实世界的问题
充分描述此变量的用途
所有的“临时”变量都重新命以更有意义的名字
例子:
$discriminant = sqrt( pow( b, 2 ) - 4*a*c );
$root[0] = ( -b + $discriminant ) / ( 2*a );
$root[1] = ( -b - $discriminant ) / ( 2*a ); 以小写字母开头,从第二个单词开始,每个单词的第一个字母大写,其余小写
例子:
$memberIndex 避免出现字母完全相同,仅大小写不同的命名
不允许在命名的结尾使用下划线
不要出现单字母的变量,如i,j,k(只有在控制循环数时且循环代码条数在3条以内,才可以考虑使用)
循环下标的名字要有意义(如果循环的长度超出了一两行代码或者出现了嵌套循环,那么就应该是i、j或者k以外的其他名字)
例子:
for ( $teamIndex = 0; $teamIndex $teamCount; $teamIndex++ ) {
for ($eventIndex = 0; $eventIndex $eventCount[$teamIndex]; $eventIndex++ ) {
$score[ $teamIndex ][ $eventIndex ] = 0;
}
} 变量中不要出现数字
用count或者total来代表总数,用index来指代某个特定成员。名字中用count或者index来代替num
把限定词放在名字最后的例外,num已经是约定俗成的。num放在变量名的开始位置代表一个总数:numCustomers表示的是员工的总数。num放在变量名的结束位置代表一个下标:customerNum表示的是当前员工的序号。通过numCustomers最后代表复数的s也能够看出这两种应用之间的区别。然而,由于这样的使用num常常会带来麻烦,因此可能最好的办法是避开这些问题,用count或者total来代表员工的总数,用index来指代某个特定的员工。这样,customerCount就代表员工的总数,customerIndex代表某个特定的员工。
如果有计算限定符,把限定词加到名字的最后。(建议)
优点:保证变量的主要含义部分位于最前面,这样这一部分就可以显得最为突出,并会被首先阅读到。其次,避免同时在程序中使用tatalRevenue和revenueTotal(总收入)而产生歧义。(建议)
例子:
$revenueTotal = 0;//总收入
$expenseTotal = 0;//总支出
$revenueAverage = 0;//平均收入
$expenseAverage = 0;//平均支出 子程序命名
第一个单词小写,后面的单词第一个字母大写
不要仅通过数字来形成不同的子程序名字
第一个单词必须是动词,使函数的意义清晰明了,例如:openAccount()
存取对象的子程序使用setXXX()和getXXX()函数形式
例子:
getFirstName();
setFirstName($firstName); 访问布尔类型的子程序可以使用isXXX()函数
例子:
//以下都是比较好的命名:
您可能关注的文档
- FTP协议 文档.doc
- HDL中级实验.doc
- HRM名词解释2.doc
- HTC市值超诺基亚的三大密码.doc
- IC流程认知实践课程设计任务书.doc
- Internet第9章.ppt
- Lecture+10(Transact-SQL语言).pdf
- Linux_操作系统-基础操作.doc
- LK3+090靳江河大桥桩基施工安全技术交底记录表.doc
- M60-2M低压电器智能保护器操作手册.pdf
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
文档评论(0)