没有合适的资源?快使用搜索试试~ 我知道了~
Phpcms 编码规范等开发文档.doc
需积分: 6 61 下载量 40 浏览量
2009-03-16
16:20:18
上传
评论
收藏 450KB DOC 举报
温馨提示
试读
64页
Phpcms 编码规范等开发文档.doc
资源推荐
资源详情
资源评论
Phpcms 编码规范
1. 引言
本规范由编程原则组成,融合并提炼了开发人员长时间积累下来的成熟经验,意
在帮助形成良好一致的编程风格。以达到事半功倍的效果,如果有需要本文档会不定
期更新。
版权:HHHHHHHH陕西玖肆陆陆网络科技有限公司,保留所有权利
最后更新日期:年 11 月 20 日H
2. 适用范围
如无特殊说明,以下规则要求完全适用于 项目,同时也可大部分适用于
公司其他 项目。
3. 标准化的重要性和好处
当一个软件项目尝试着遵守公共一致的标准时,可以使参与项目的开发人员更容
易了解项目中的代码、弄清程序的状况。使新的参与者可以很快的适应环境,防止部
分参与者出于节省时间的需要,自创一套风格并养成终生的习惯,导致其它人在阅读
时浪费过多的时间和精力。而且在一致的环境下,也可以减少编码出错的机会。缺陷
是由于每个人的标准不同,所以需要一段时间来适应和改变自己的编码风格,暂时性
的降底了工作效率。从使项目长远健康的发展以及后期更高的团队工作效率来考虑暂
时的工作效率降低是值得的,也是必须要经过的一个过程。标准不是项目成功的关键,
但可以帮助我们在团队协作中有更高的效率并且更加顺利的完成既定的任务。
1. 程序员可以了解任何代码,弄清程序的状况
2. 新人可以很快的适应环境
3. 防止新接触 PHP 的人出于节省时间的需要,自创一套风格并养成终生的习惯
4. 防止新接触 PHP 的人一次次的犯同样的错误
5. 在一致的环境下,人们可以减少犯错的机会
6. 程序员们有了一致的敌人
4. PHP 编码规范与原则
4.1.代码标记
程序可以使用或来界定H代码,在 页面中嵌入
纯变量时,可以使用这样的形式。
近年来 开发组一直倡导代码规范化和标准化,未来版本 可能会开始不建
议使用甚至取消和这种速记形式,因此为了加强程序
兼容性,在发布之前我们将统一把标记替换为H。
4.2.注释
注释是对于那些容易忘记作用的代码添加简短的介绍性内容。请使用H样式的注
释“ !和标准H""注释“!。
程序开发中难免留下一些临时代码和调试代码,此类代码必须添加注释,以免日后遗忘。
所有临时性、调试性、试验性的代码,必须添加统一的注释标记“//debug”并后跟完整的注
释信息,这样可以方便在程序发布和最终调试前批量检查程序中是否还存在有疑问的代码。
例如:
$num = 1;
$ag = TRUE; //debug 这里不能确定是否需要对$ag 进行赋值
if(empty($ag)) {
//Statements
}
4.3.书写规则
4.3.1. 缩进
每个缩进的单位约定是一个 TAB(8 个空白字符宽度),需每个参与项目的开发人
员在编辑器#$%&'%、&'%(、)'*%(' 等+中进行强制设定,以防在编写代
码时遗忘而造成格式上的不规范。
本缩进规范适用于 、,*% 中的函数、类、逻辑结构、循环等。
4.3.2. 大括号{}、if 和 switch
首括号与关键词同行,尾括号与关键字同列;
- 结构中,- 和 - 与前后两个圆括号同行,左右各一个空格,所有大括号都单
独另起一行。另外,即便 - 后只有一行语句,仍然需要加入大括号,以保证结构清晰;
.% 结构中,通常当一个 块处理后,将跳过之后的 块处理,因此大
多数情况下需要添加 /。/ 的位置视程序逻辑,与 同在一行,或新起
一行均可,但同一 .% 体中,/ 的位置格式应当保持一致。
以下是符合上述规范的例子:
If ($condition)
{
switch ($var)
{
case 1: echo ‘var is 1’; break;
case 2: echo ‘var is 2’; break;
default: echo ‘var is neither 1or2’; break;
}
}
else
{
switch ($str)
{
case ‘abc’:
$result = ‘abc’;
break;
default:
$result = ‘unknown’;
break;
}
}
4.3.3. 运算符、小括号、空格、关键词和函数
每个运算符与两边参与运算的值或表达式中间要有一个空格,唯一的特例是字符
连接运算符号两边不加空格;
左括号“#!应和函数关键词紧贴在一起,除此以外应当使用空格将“#!同前面内容分
开;
右括号“+!除后面是“+!或者“0!以外,其他一律用空格隔开它们;
除字符串中特意需要,一般情况下,在程序以及 中不出现两个连续的空格;
任何情况下, 程序中不能出现空白的带有 12 或空格的行,即:这类空白行
应当不包含任何 12 或空格。同时,任何程序行尾也不能出现多余的 12 或空格。
多数编辑器具有自动去除行尾空格的功能,如果习惯养成不好,可临时使用它,避免
多余空格产生;
每段较大的程序体,上、下应当加入空白行,两个程序块之间只使用 3 个空行,
禁止使用多行。
程序块划分尽量合理,过大或者过小的分割都会影响他人对代码的阅读和理解。
一般可以以较大函数定义、逻辑结构、功能结构来进行划分。少于 34 行的程序块,可
不加上下空白行;
说明或显示部分中,内容如含有中文、数字、英文单词混杂,应当在数字或者英
文单词的前后加入空格。
根据上述原则,以下举例说明正确的书写格式:
$result = (($a + 1) * 3 / 2 + $num)).’Test’;
$condition ? func1($var) : func2($var);
$condition ? $long_statement
: $another_long_statement;
if ($ag)
{
//Statements
//More than 15 lines
}
Showmessage(‘请使用Hrestore.php 工具恢复数据。’);
4.3.4. 函数定义
参数的名字和变量的命名规范一致;
函数定义中的左小括号,与函数名紧挨,中间无需空格;
开始的左大括号另起一行;
具有默认值的参数应该位于参数列表的后面;
函数调用与定义的时候参数与参数之间加入一个空格;
必须仔细检查并切实杜绝函数起始缩进位置与结束缩进位置不同的现象。
例如,符合标准的定义:
function authcode($string, $operation, $key = '')
{
if($ag)
{
//Statement
}
//函数体
}
不符合标准的定义:
function authcode($string,$operation,$key = '') {
//函数体
}
4.3.5. 引号
中单引号和双引号具有不同的含义,最大的几项区别如下:
单引号中,任何变量#+、特殊转义字符#如“5%55!等+不会被解析,因此
的解析速度更快,转义字符仅仅支持“56!和“55!这样对单引号和反斜杠本身的转义;
双引号中,变量#+值会代入字符串中,特殊转义字符也会被解析成特定的单
个字符,还有一些专门针对上述两项特性的特殊功能性转义,例如“5!和
“789:/86;<。这样虽然程序编写更加方便,但同时 的解析也很慢;
数组中,如果下标不是整型,而是字符串类型,请务必用单引号将下标括起,正
确的写法为89:/86;,而不是89/8;,因为不正确的写法会使 解析器
认为 /8 是一个常量,进而先判断常量是否存在,不存在时才以“/8!作为下标带入
表达式中,同时出发错误事件,产生一条 =% 级错误。
因此,在绝大多数可以使用单引号的场合,禁止使用双引号。依据上述分析,可
以或必须使用单引号的情况包括但不限于下述:
字符串为固定值,不包含“5%!等特殊转义字符;
数组的固定下标,例如89:/86;;
表达式中不需要带入变量,例如%>:%%6?,而非%>@%%!;
剩余63页未读,继续阅读
资源评论
Wangxinhui419
- 粉丝: 1
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_20240425_120538.jpg
- My Complete Genome_6k Base-Pairs of Phenotype SNPs_Complete Raw Data.zip
- qt 的mqtt测试demo
- 移动应用开发教程-zip.zip
- mosquitto-2.018-install-windows-x64
- FTPServer FTP 服务器,绿色免安装,单文件
- 梦畅语音点名软件,上课点名
- 利用ADNI数据集和标签,在tensorflow框架上使用tensorlayer接口,通过架构u-net实现海马体的分割
- Kutools for Word v9.0 office word 插件
- 修复Windows 10 LTSC 2021资源占用率高
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功