讲的非常不错的PHP编码规范第1/3页

注:这是从PHPCMS开发文档里看到编码规范,虽名为PHPCMS的开发规范,但我觉得所有的PHP编程都该如此。写了那么多PHP,很多编码对照这规范都感觉欠缺很多,今后一定要对照纠正。

Phpcms 编码规范
1. 引言…. 2
2. 适用范围…. 2
3. 标准化的重要性和好处…. 3
4. PHP编码规范与原则…. 3
4.1. 代码标记… 3
4.2. 注释… 3
4.3. 书写规则… 4
4.3.1. 缩进… 4
4.3.2. 大括号{}、if和switch. 4
4.3.3. 运算符、小括号、空格、关键词和函数… 5
4.3.4. 函数定义… 6
4.3.5. 引号… 6
4.3.6. 多语言问题… 7
4.4. 命名原则… 8
4.4.1. 变量、对象、函数名… 8
4.4.2. 常量… 8
4.5. 变量的初始化与逻辑检查… 8
4.6. 安全性… 9
4.7. 兼容性… 9
4.8. 代码重用… 10
4.9. 其他细节问题… 10
4.9.1. 包含调用… 10
4.9.2. 错误报告级别… 11
5. 数据库设计…. 11
5.1. 字段… 11
5.1.1. 表和字段命名… 11
5.1.2. 字段结构… 11
5.2. SQL语句… 12
5.3. 性能与效率… 13
5.3.1. 定长与变长表… 13
5.3.2. 运算与检索… 13
5.3.3. 结构优化与索引优化… 14
5.3.4. 查询优化… 14
5.3.5. 兼容性问题… 16
6. 模板设计…. 16
6.1. 代码标记… 16
6.2. 书写规则… 16
6.2.1. HTML. 16
6.2.2. 变量… 16
6.2.3. 语言元素… 17
6.2.4. 缩进… 17
7. 文件与目录…. 17
7.1. 文件命名… 17
7.2. 目录命名… 18
7.3. 空目录索引… 18

1. 引言
本规范由编程原则组成,融合并提炼了开发人员长时间积累下来的成熟经验,意在帮助形成良好一致的编程风格。以达到事半功倍的效果,如果有需要本文档会不定期更新。
版权: 陕西玖肆陆陆网络科技有限公司,保留所有权利
最后更新日期:年11月20日 2006

2. 适用范围
如无特殊说明,以下规则要求完全适用于phpcms项目,同时也可大部分适用于公司其他PHP项目。

3. 标准化的重要性和好处
当一个软件项目尝试着遵守公共一致的标准时,可以使参与项目的开发人员更容易了解项目中的代码、弄清程序的状况。使新的参与者可以很快的适应环境,防止部分参与者出于节省时间的需要,自创一套风格并养成终生的习惯,导致其它人在阅读时浪费过多的时间和精力。而且在一致的环境下,也可以减少编码出错的机会。缺陷是由于每个人的标准不同,所以需要一段时间来适应和改变自己的编码风格,暂时性的降底了工作效率。从使项目长远健康的发展以及后期更高的团队工作效率来考虑暂时的工作效率降低是值得的,也是必须要经过的一个过程。标准不是项目成功的关键,但可以帮助我们在团队协作中有更高的效率并且更加顺利的完成既定的任务。
1. 程序员可以了解任何代码,弄清程序的状况
2. 新人可以很快的适应环境
3. 防止新接触PHP的人出于节省时间的需要,自创一套风格并养成终生的习惯
4. 防止新接触PHP的人一次次的犯同样的错误
5. 在一致的环境下,人们可以减少犯错的机会
6. 程序员们有了一致的敌人

4. PHP编码规范与原则

4.1.代码标记
PHP程序可以使用或来界定 PHP 代码,在HTML页面中嵌入纯变量时,可以使用这样的形式。
近年来PHP开发组一直倡导代码规范化和标准化,未来版本PHP可能会开始不建议使用甚至取消和这种速记形式,因此为了加强程序兼容性,在发布之前我们将统一把

4.2.注释
注释是对于那些容易忘记作用的代码添加简短的介绍性内容。请使用 C 样式的注释“/* */”和标准 C++ 注释“//”。

程序开发中难免留下一些临时代码和调试代码,此类代码必须添加注释,以免日后遗忘。所有临时性、调试性、试验性的代码,必须添加统一的注释标记“//debug”并后跟完整的注释信息,这样可以方便在程序发布和最终调试前批量检查程序中是否还存在有疑问的代码。例如:
$num = 1;
$flag = TRUE; //debug 这里不能确定是否需要对$flag进行赋值
if(empty($flag)) {
//Statements
}

4.3.书写规则

4.3.1. 缩进
每个缩进的单位约定是一个TAB(8个空白字符宽度),需每个参与项目的开发人员在编辑器(UltraEdit、EditPlus、Zend Studio等)中进行强制设定,以防在编写代码时遗忘而造成格式上的不规范。
本缩进规范适用于PHP、JavaScript中的函数、类、逻辑结构、循环等。

4.3.2. 大括号{}、if和switch
首括号与关键词同行,尾括号与关键字同列;
if结构中,if和elseif与前后两个圆括号同行,左右各一个空格,所有大括号都单独另起一行。另外,即便if后只有一行语句,仍然需要加入大括号,以保证结构清晰;
switch结构中,通常当一个case块处理后,将跳过之后的case块处理,因此大多数情况下需要添加break。break的位置视程序逻辑,与case同在一行,或新起一行均可,但同一switch体中,break的位置格式应当保持一致。
以下是符合上述规范的例子:
If ($condition)
{
switch ($var)
{
case 1: echo ‘var is 1'; break;
case 2: echo ‘var is 2'; break;
default: echo ‘var is neither 1 or 2'; break;
}
}
else
{
switch ($str)
{
case ‘abc':
$result = ‘abc';
break;
default:
$result = ‘unknown';
break;
}
}

4.3.3. 运算符、小括号、空格、关键词和函数
每个运算符与两边参与运算的值或表达式中间要有一个空格,唯一的特例是字符连接运算符号两边不加空格;
左括号“(” 应和函数关键词紧贴在一起,除此以外应当使用空格将“(”同前面内容分开;
右括号“)”除后面是“)”或者“.”以外,其他一律用空格隔开它们;
除字符串中特意需要,一般情况下,在程序以及HTML中不出现两个连续的空格;
任何情况下,PHP程序中不能出现空白的带有TAB或空格的行,即:这类空白行应当不包含任何TAB或空格。同时,任何程序行尾也不能出现多余的TAB或空格。多数编辑器具有自动去除行尾空格的功能,如果习惯养成不好,可临时使用它,避免多余空格产生;
每段较大的程序体,上、下应当加入空白行,两个程序块之间只使用1个空行,禁止使用多行。
程序块划分尽量合理,过大或者过小的分割都会影响他人对代码的阅读和理解。一般可以以较大函数定义、逻辑结构、功能结构来进行划分。少于15行的程序块,可不加上下空白行;
说明或显示部分中,内容如含有中文、数字、英文单词混杂,应当在数字或者英文单词的前后加入空格。

根据上述原则,以下举例说明正确的书写格式:
$result = (($a + 1) * 3 / 2 + $num)).'Test';
$condition ? func1($var) : func2($var);
$condition ? $long_statement
: $another_long_statement;
if ($flag)
{

//Statements
//More than 15 lines
}
Showmessage(‘请使用 restore.php 工具恢复数据。');

当前1/3页 123下一页阅读全文

(0)

相关推荐

  • 培养自己的php编码规范

    为什么我们要培养自己的编码规范? 我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果.至少会有一下的好处: 1.提高我们的编码效率.整齐划一的代码方便我们进行复制粘贴嘛! 2.提高代码的可读性. 3.显示我们专业.别人看到了我们的代码,发现整个代码的书写流程都整齐划一,瞬间逼格就上去了! 4.方便团队协同工作.大家使用同一的规范,这样就消除了五花八分的书写方式,同一协调! 编码规范包含两大块,代码规范和注释规范 其实我们所写的php脚本,其实也就是由两大块组成的,即对代码的

  • PHP编码规范-php coding standard

    目录 介绍 标准化的重要性 解释 认同观点 项目的四个阶段 命名规则 合适的命名 缩写词不要全部使用大写字母 类命名 类库命名 方法命名 类属性命名 方法中参数命名 变量命名 引用变量和函数返回引用 全局变量 定义命名 / 全局常量 静态变量 函数命名 php文件扩展名 文档规则 评价注释 Comments Should Tell a Story Document Decisions 使用标头说明 Make Gotchas Explicit Interface and Implementatio

  • PHP编码规范的深入探讨

    缩进与空白字符(Indenting and Whitespace)使用 2 个空格而不使用 tab 键进行代码缩进(notepad++, Eclipse 等编辑器均支持此项配置);行尾不应该有空白字符应使用 \n (Unix换行符),而不是 \r\n (Windows 换行符)所有文件均应以一个空行结尾 运算符(Operators)所有二元运算符(二个值之间的运算符),如 +, -, =, !=, ==, > 等等,在运算符两端均需留有一个空格,如应该使用 $foo = $bar 而不是 $fo

  • PHP符合PSR编程规范的实例分享

    前言 关于开发标准这块,可以说一直都是风格迥异,各家都有各家的玩法,民间更是个人玩个人的.目前我们国内比较出名的几个框架(Yii,Laravel) 都已经支持Composer并且加入了PHP-FIG(php框架程序组). 其中Composer的自动加载就支持PHP-FIG指定的PSR-0 和 PSR-4 规范来实现自动加载机制,并且Composer推荐使用PSR-4 PHP-FIG 这是一个自愿非正式的机构,但是就目前对我们的影响来看,可能都已经默认为一个公信组织了,的的确确制定了不少非常好的规

  • PHP的PSR规范中文版

    文档仓库地址:https://github.com/hfcorriez/fig-standards PSR规范中文版 PSR-0自动加载 PSR-1基本代码规范 PSR-2代码样式 PSR-3日志接口为何规范 摘录翻译了官方的一句话 本组织旨在通过讨论我们代码项目的共同点以找出一个协作编程的方法. 在此想到了一篇文章<Google为何要执行严格的代码规范>中有这么一段话: 复制代码 代码如下: 在谷歌,我可以查看任何的代码,进入所有谷歌的代码库,我有权查看它们.事实上,这种权限是很少人能拥有的

  • PHP文件注释标记及规范小结

    PHP 注释标记 @access 使用范围:class,function,var,define,module 该标记用于指明关键字的存取权限:private.public或proteced @author 指明作者 @copyright 使用范围:class,function,var,define,module,use 指明版权信息 @deprecated 使用范围:class,function,var,define,module,constent,global,include 指明不用或者废弃

  • PHP Document 代码注释规范

    1. 什么是phpDocumentor ? PHPDocumentor 是一个用PHP写的工具,对于有规范注释的php程序,它能够快速生成具有相互参照,索引等功能的API文档.老的版本是 phpdoc,从1.3.0开始,更名为phpDocumentor,新的版本加上了对php5语法的支持,同时,可以通过在客户端浏览器上操作生成文档,文档可以转换为PDF,HTML,CHM几种形式,非常的方便. PHPDocumentor工作时,会扫描指定目录下面的php源代码,扫描其中的关键字,截取需要分析的注释

  • PHP编码规范之注释和文件结构说明

    文件结构 |――images |――include |――parameter |――config |――function |――index images存放图片文件,include中是系统是要引用的文件,一般在parameter中存放参数文件,config中存放配置文件,function中存放方法文件,如javascript的方法等,并按功能模块的分类,将各功能的类也放入其中 文件名 文件夹命名一般采用英文,长度一般不超过20个字符,命名采用小写字母.除特殊情况才使用中文拼音,一些常见的文件夹命

  • php 注释规范

    @access 使用范围:class,function,var,define,module 该标记用于指明关键字的存取权限:private.public或proteced @author 指明作者 @copyright 使用范围:class,function,var,define,module,use 指明版权信息 @deprecated 使用范围:class,function,var,define,module,constent,global,include 指明不用或者废弃的关键字 @exa

  • 讲的非常不错的PHP编码规范第1/3页

    注:这是从PHPCMS开发文档里看到编码规范,虽名为PHPCMS的开发规范,但我觉得所有的PHP编程都该如此.写了那么多PHP,很多编码对照这规范都感觉欠缺很多,今后一定要对照纠正. Phpcms 编码规范 1. 引言-. 2 2. 适用范围-. 2 3. 标准化的重要性和好处-. 3 4. PHP编码规范与原则-. 3 4.1. 代码标记- 3 4.2. 注释- 3 4.3. 书写规则- 4 4.3.1. 缩进- 4 4.3.2. 大括号{}.if和switch. 4 4.3.3. 运算符.小

  • python入门课程第三讲之编码规范知多少

    目录 前言 注释 缩进规则 编码规范 标识符命令规范 标识符遵循的规则 关键字 总结 这是Pyhon系列文章的第三篇,本文主要介绍Python程序的编码规范. 干货满满,建议收藏,需要用到时常看看. 小伙伴们如有问题及需要,欢迎踊跃留言哦~ ~ ~. 前言 上一篇文章我们介绍如何运行Python程序,如何安装PyCharm开发工具以及如何用PyCharm来运行Python程序,这些都只是开发前的准备工作而已,也就是说仅仅是弄好了脚手架.接下来就是开始编码了.不过在编码之前我们还是先需要了解一下P

  • 浅谈JavaScript编程语言的编码规范

    JavaScript 编程语言作为最流行的客户端脚本语言,早已被众多 Web 开发人员所熟悉.随着 Web2.0 时代的到来和 Ajax 技术的广泛应用,JavaScript 也逐渐吸引着更多的视线.工作中要求越多的是对 JavaScript 语言的深入学习,灵活运用,和对编码质量的保证. 对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编码规范也

  • 浅谈Android编码规范及命名规范

    前言: 目前工作负责两个医疗APP项目的开发,同时使用LeanCloud进行云端配合开发,完全单挑. 现大框架已经完成,正在进行细节模块上的开发 抽空总结一下Android项目的开发规范:1.编码规范 2.命名规范 注:个人经验,经供参考 一.Android编码规范 1.学会使用string.xml文件 在我看来,当一个文本信息出现的次数大于一次的时候就必须要使用string.xml 比如一个保存按钮 , 不规范写法: <Button android:id="@+id/editinfo_b

  • Python 常用 PEP8 编码规范详解

    Python 常用 PEP8 编码规范 代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: # (垂直隐式缩进)对准左括号 foo = long_function_name(var_one, var_two, var_three, var_four) # (悬挂缩进) 一般情况只需多一层缩进 foo = long_function_name( var_one, var_two, var_three, var_four) # (悬挂缩进) 但下面情况,

  • 5 种JavaScript编码规范

    什么是编码规范 编码规范就是指导如何编写和组织代码的一系列标准.通过阅读这些编码规范,你可以知道在各个公司里代码是如何编写的. 我们为什么需要编码规范 一个主要的原因是:每个人写代码的方式都是不同的.我可能喜欢这么写,而你喜欢用另一种方法写.如果我们只处理自己的代码,这样并没有什么问题.但如果有成千上万的程序员同时在一个代码库上面工作呢?如果没有规范,事情很快会变得一团糟.代码规范可以让新人迅速的熟悉相关的代码,并且也能写出让其他程序员简单易懂的代码. Airbnb JavaScript Sty

  • Javascript 编码约定(编码规范)

    1.使用 strict 模式 在一个作用域(包括函数作用域.全局作用域)中,可以使用 "use strict"; 来开启 strict 模式. 2.缩进 用 Tab 键进行代码缩进,以节约代码大小,使用4个空格的宽度来进行缩进(JSLint 建议). 3.符号 1) 大括号 与语句放同一行,放于最后面:仅有一行语句,也使用大括号: if (true) { //true } else { //false } while (true) { //alert(1); } 2) 空格 在逗号.分

  • Python 编码规范(Google Python Style Guide)

    Python 风格规范(Google) 本项目并非 Google 官方项目, 而是由国内程序员凭热情创建和维护. 如果你关注的是 Google 官方英文版, 请移步 Google Style Guide 以下代码中 Yes 表示推荐,No 表示不推荐. 分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 每行不超过80个字符 以下情况除外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这

随机推荐