PHP编程规范标准20020123概述

版权申诉
0 下载量 188 浏览量 更新于2024-07-02 收藏 318KB DOC 举报
"PHP程序编码规范标准20020123.doc" 本文档详细介绍了PHP编程的标准和最佳实践,旨在提升代码质量、可读性和维护性。这份规范由Fredrik Kristiansen编写,基于Todd Hoff的《C++编程标准》改编,并允许自由复制和改进。以下是规范的主要内容: **命名规则** 1. **合适的命名**:变量、函数、类等应具有清晰、有意义的名称,以便于理解其用途。 2. **缩写词不要全部使用大写字母**:遵循驼峰命名法(CamelCase)或下划线分隔(snake_case)。 3. **类命名**:类名应使用首字母大写的驼峰命名法,如`ClassName`。 4. **类库命名**:类库名通常以全大写字母的缩写表示,如`DB`代表数据库类库。 5. **方法命名**:方法名遵循类名的驼峰命名法,如`methodName`。 6. **类属性命名**:属性名使用下划线分隔的命名法,如`$property_name`。 7. **方法中参数命名**:参数名同样应具有描述性,遵循驼峰命名法或下划线分隔法。 8. **变量命名**:变量名应清晰反映其用途,遵循相应的命名规则。 9. **引用变量和函数返回引用**:使用`&`符号表示引用,但要谨慎使用。 10. **全局变量**:避免使用全局变量,因为它们可能导致难以预料的副作用。 11. **定义命名/全局常量**:常量名全大写,下划线分隔,如`CONSTANT_NAME`。 12. **静态变量**:静态变量前加`static`关键字,用于在类内保持状态。 13. **函数命名**:函数名应简洁且明确,遵循驼峰命名法。 14. **php文件扩展名**:PHP文件一般使用`.php`作为扩展名。 **文档规则** 1. **评价注释**:注释应提供清晰的解释,帮助理解代码功能。 2. **CommentsShouldTellAStory**:注释应能讲述代码背后的故事。 3. **DocumentDecisions**:记录决策过程,解释为何选择某种实现方式。 4. **使用标头说明**:每个文件开头应包含文件描述和作者信息。 5. **MakeGotchasExplicit**:明确指出可能的问题和陷阱。 6. **InterfaceandImplementationDocumentation**:接口和实现的文档应分开记录。 7. **目录文档**:大型项目应有整体的架构和模块文档。 **复杂性管理规则** 1. **层**:按照功能分层,提高代码组织性。 2. **Open/ClosedPrinciple**:设计模块应开放扩展,关闭修改。 3. **ServerConfiguration**:配置应稳定且易于管理。 **类规则** 1. **DifferentAccessorStyles**:定义访问器(getter/setter)时保持一致性。 2. **别在对象架构期做实际的工作**:构造函数应只用于初始化,避免业务逻辑。 3. **Thinvs.FatClassInterfaces**:提倡薄接口,避免类过于庞大。 4. **短方法**:方法应尽可能简洁,避免长方法。 **进程规则** 1. **UseaDesignNotationandProcess**:使用设计模式和流程图辅助设计。 2. **CodeReviews**:实施代码审查,确保代码质量。 3. **CreateaSourceCodeControlSystemEarlyandNotOften**:尽早建立版本控制系统。 4. **CreateaBugTrackingSystemEarlyandNotOften**:早期建立bug跟踪系统。 5. **HonorResponsibilities**:确保每个组件都履行其职责。 **格式化** 1. **大括号{}规则**:大括号对齐,保持代码整洁。 2. **缩进/制表符/空格规则**:使用一致的缩进风格,如4个空格。 3. **小括号、关键词和函数规则**:保持代码对齐,提高可读性。 4. **IfThenElse格式**:if-else结构应有适当的缩进。 5. **switch格式**:switch语句应清晰,每个case后跟break。 6. **continue,break和?的使用**:避免不必要的复杂逻辑。 7. **每行一个语句**:每行只写一条语句。 8. **声明块的定位**:声明通常位于函数或类的顶部。 **杂项** 1. **不要不可思议的数字**:避免使用不明确的常数值,应使用常量或变量表示。 2. **错误返回检测规则**:正确处理错误返回,避免忽视异常情况。 3. **不要采用缺省值测试非零值**:避免用`!=0`检查,应使用`is_null()`或其他适合的函数。 4. **布尔逻辑类型**:避免使用非布尔值进行逻辑判断。 5. **通常避免嵌入式的赋值**:保持表达式简单,减少复杂度。 6. **重用您和其他人的艰苦工作**:利用已有的库和框架,避免重复造轮子。 7. **使用if(0)来注释外部代码块**:临时禁用代码块时使用。 8. **其他杂项**:包含更多特定的编码建议和注意事项。 **PEAR编码标准** 1. **Pear-Indenting_**:遵循PEAR的缩进规则,如使用4个空格。 2. **Pear其他规则**:还包括关于命名、注释、代码结构等方面的PEAF编码指南。 这份PHP编码规范旨在创建一致、可维护和高质量的代码,开发者应遵循这些指导原则以提高代码的可读性和团队协作效率。