PHP编程规范与最佳实践
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
"PHP程序编码规范标准20020123.doc 是一份由Fredrik Kristiansen基于 Todd Hoff 的《C++编程标准》改编的PHP编程规范文档,旨在为PHP开发提供一套统一的标准,确保代码的可读性、可维护性和团队协作效率。文档内容涵盖命名规则、文档规则、复杂性管理规则、类规则、进程规则、格式化以及杂项等多个方面,以提升PHP代码的质量。" **命名规则** 命名是编程中至关重要的一环,该规范强调了以下几点: 1. **合适的命名**:变量、函数、类等应具有清晰、描述性强的名字。 2. **缩写词不要全部使用大写字母**:避免全大写命名,除非用于常量。 3. **类命名**:类名应使用驼峰式命名,如`ClassName`。 4. **类库命名**:类库名通常以大写字母开头,如`LibraryName`。 5. **方法命名**:方法名同样遵循驼峰式命名,以动词开始,如`methodName`。 6. **类属性命名**:类属性名也用驼峰式,首字母小写,如`propertyName`。 7. **方法中参数命名**:参数名应简洁且有意义。 8. **变量命名**:遵循驼峰式,避免使用单个字符命名。 9. **引用变量和函数返回引用**:使用明确的名称表明是引用。 10. **全局变量**:尽量避免使用,如果必须使用,需明显标记。 11. **定义命名/全局常量**:常量全大写,单词间用下划线分隔,如`CONSTANT_NAME`。 12. **静态变量**:与普通变量相同,但需注明其静态特性。 13. **函数命名**:函数名清晰,遵循驼峰式,如`functionName`。 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. **创建源代码控制系统**:尽早建立版本控制。 4. **创建bug跟踪系统**:及时跟踪并解决bug。 5. **HonorResponsibilities**:确保职责划分清晰。 **格式化** 1. **大括号{}规则**:大括号对齐,增加代码可读性。 2. **缩进/制表符/空格规则**:保持一致的缩进风格。 3. **小括号、关键词和函数规则**:正确使用空格和括号。 4. **IfThenElse格式**:if-else结构保持良好对齐。 5. **switch格式**:switch语句的case标签对齐。 6. **continue,break和?的使用**:避免不必要的复杂性。 7. **每行一个语句**:保持语句简洁。 8. **声明块的定位**:合理安排变量声明的位置。 **杂项** 1. **不要使用不可思议的数字**:数值常量要有明确含义。 2. **错误返回检测规则**:检查函数返回值,避免未定义的行为。 3. **不要采用缺省值测试非零值**:避免使用条件表达式测试非零值。 4. **布尔逻辑类型**:正确使用布尔逻辑,避免隐式转换。 5. **通常避免嵌入式的赋值**:使代码更清晰。 6. **重用您和其他人的艰苦工作**:利用已有的库和组件。 7. **使用if(0)来注释外部代码块**:临时禁用代码块。 8. **其他杂项**:涵盖更多编码最佳实践。 此外,文档还提到了PEAR编码标准,这是PHP社区广泛接受的一套编码规范,它包括了关于缩进、命名和其他方面的具体要求,如`Pear-Indenting_`和`Pea`相关的规则。 这份规范提供了全面的指导,帮助开发者编写出高质量、易于维护的PHP代码。遵循这些标准,可以提高团队协作效率,减少潜在的错误,并有助于构建更稳定、可扩展的PHP应用。
![](https://csdnimg.cn/release/download_crawler_static/85732570/bg8.jpg)
![](https://csdnimg.cn/release/download_crawler_static/85732570/bg9.jpg)
![](https://csdnimg.cn/release/download_crawler_static/85732570/bga.jpg)
剩余45页未读,继续阅读
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/acfce43ffe2c41f996326bd927946824_yhsbzl.jpg!1)
- 粉丝: 3768
- 资源: 59万+
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-1.c8e153b4.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-2.8b825a4e.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-3.fc5e5fb6.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-4.320a6894.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-icon.fe0226a8.png)
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)