1 / 19
文档名称:

Discuz X2编码规范.docx

格式:docx   大小:53KB   页数:19页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Discuz X2编码规范.docx

上传人:xunlai783 2017/11/18 文件大小:53 KB

下载得到文件列表

Discuz X2编码规范.docx

相关文档

文档介绍

文档介绍:编码规范
目录
1 前言
2 适用范围
3 标准化的重要性和好处
4 PHP编码规范与原则
代码标记
注释
书写规则
缩进
大括号{}、if和switch
运算符、小括号、空格、关键词和函数
函数定义
引号
Discuz!语言问题
命名原则
变量、对象、函数名
常量
变量的初始化与逻辑检查
安全性
兼容性
代码重用
其他细节问题
包含调用
错误报告级别
5 数据库设计
字段
表和字段命名
字段结构
SQL语句
性能与效率
定长与变长表
运算与检索
结构优化与索引优化
查询优化
兼容性问题
6 模板设计
代码标记
书写规则
HTML
变量
语言元素
缩进
7 文件与目录
文件命名
目录命名
空目录索引
前言
本规范由编程原则组成,融合并提炼了开发人员长时间积累下来的成熟经验,意在帮助形成良好一致的编程风格。
适用范围
如无特殊说明,以下规则要求完全适用于Discuz!项目,SENZ旗下其他PHP项目。
标准化的重要性和好处
当一个软件项目尝试着遵守公共一致的标准时,可以使参与项目的开发人员更容易了解项目中的代码、弄清程序的状况。使新的参与者可以很快的适应环境,防止部分参与者出于节省时间的需要,自创一套风格并养成终生的****惯,导致其它人在阅读时浪费过多的时间和精力。而且在一致的环境下,也可以减少编码出错的机会。缺陷是由于每个人的标准不同,所以需要一段时间来适应和改变自己的编码风格,暂时性的降底了工作效率。从使项目长远健康的发展以及后期更高的团队工作效率来考虑暂时的工作效率降低是值得的,也是必须要经过的一个过程。标准不是项目成功的关键,但可以帮助我们在团队协作中有更高的效率并且更加顺利的完成既定的任务。
程序员可以了解任何代码,弄清程序的状况
新人可以很快的适应环境
防止新接触PHP的人出于节省时间的需要,自创一套风格并养成终生的****惯
防止新接触PHP的人一次次的犯同样的错误
在一致的环境下,人们可以减少犯错的机会
程序员们有了一致的敌人
PHP编码规范与原则
代码标记
PHP程序可以使用<?php ?>来界定 PHP 代码,在HTML页面中嵌入纯变量时,可以使用<?php=$variablename?>这样的形式。
注意:为了使代码进一步规范化和标准化,从Discuz! X2版本起开始禁用<? ?>和<?=$variablename?>这种速记形式。
注释
注释是对于那些容易忘记作用的代码添加简短的介绍性内容。请使用 C 样式的注释“/* */”和标准 C++ 注释“//”。
在Discuz!每一个程序文件头部中,应放入相应SVN控制字串,以方便SVN提交时自动更新:
$Id$
例如:
/**
* [Discuz!] (C)2001-senz Inc.
* This is NOT a freeware, use is subject to license terms
*
* $Id$
*/
程序开发中难免留下一些临时代码和调试代码,此类代码必须添加注释,以免日后遗忘。所有临时性、调试性、试验性的代码,必须添加统一的注释标记“//debug”并后跟完整的注释信息,这样可以方便在程序发布和最终调试前批量检查程序中是否还存在有疑问的代码。例如:
$num = 1;
$flag = TRUE; //debug 这里不能确定是否需要对$flag进行赋值
if(empty($flag)) {
//Statements
}
书写规则
缩进
每个缩进的单位约定是一个TAB(4个空白字符宽度),需每个参与项目的开发人员在编辑器(UltraEdit、EditPlus、Zend Studio等)中进行强制设定,以防在编写代码时遗忘而造成格式上的不规范。
本缩进规范适用于PHP、JavaScript中的函数、类、逻辑结构、循环等。
大括号{}、if和switch
首括号与关键词同行,尾括号与关键字同列;
if结构中,else和elseif与前后两个大括号同行,左右各一个空格。另外,即便if后只有一行语句,仍然需要加入大括号,以保证结构清晰;
switch结构中,通常当一个case块