首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP与模板与代码加密/优化 » [转帖]经典:PHP编码规范(二)  


  作者:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

  nqp@nqp.me
  4304410
  www.nqp.me

 

 发表:2004-08-24 19:21:09 阅读 3489 次 回复 0 次 得分0  |   字号 字色
[转帖]经典:PHP编码规范(二)
2.15. 函数命名 

· 函数名字采用C GNU的惯例,所有的字母使用小写字母,使用'_'分割单词。 
理由 
· 这样可以更易于区分相关联的类名。 
例如 
function some_bloody_function() 



2.16. 错误返回检测规则 

· 检查所有的系统调用的错误信息,除非你要忽略错误。 
· 为每条系统错误消息定义好系统错误文本以便include。 


3. 书写规则 


3.1. 大括号 {} 规则 

在三种主要的大括号放置规则中,有两种是可以接受的,如下的第一种是最好的: 
· 将大括号放置在关键词下方的同列处: 
if ($condition) while ($condition) 
{ { 
... ... 
} } 
· 传统的UNIX的括号规则是,首括号与关键词同行,尾括号与关键字同列: 
if ($condition) { while ($condition) { 
... ... 
} } 
理由 
· 引起剧烈争论的非原则的问题可通过折衷的办法解决,两种方法任意一种都是可以接受的,然而对于大多数人来说更喜欢第一种。原因就是心理研究学习范畴的东西了。 
对于更喜欢第一种还有着更多的原因。如果您使用的字符编辑器支持括号匹配功能的话(例如vi),最重要的就是有一个好的样式。为什么?我们说当你有一大块的程序而且想知道这一大块程序是在哪儿结束的话。你先移到开始的括号,按下按钮编辑器就会找到与之对应的结束括号,例如: 
if ($very_long_condition && $second_very_long_condition) 

... 

else if (...) 

... 

从一个程序块移动到另一个程序块只需要用光标和你的括号匹配键就可以了,不需找匹配的括号。 

3.2. 缩进/制表符/空格 规则 

· 使用制表符缩进。 
· 使用三到四个空格为每层次缩进。 
· 不再使用只要一有需要就缩排的方法。对于最大缩进层数,并没有一个固定的规矩,假如缩进层数大于四或者五层的时候,你可以考虑着将代码因数分解(factoring out code)。 
理由 
· 许多编程者支持制表符。 
· 当人们使用差异太大的制表符标准的话,会使阅读代码变得很费力。 
· 如此多的人愿意限定最大的缩进层数,它通常从未被看作是一件工作。我们相信程序员们会明智的选择嵌套的深度。 
例如 
function func() 

if (something bad) 

if (another thing bad) 

while (more input) 






3.3. 小括号、关键词和函数 规则 

· 不要把小括号和关键词紧贴在一起,要用空格隔开它们。 
· 不要把小括号和函数名紧贴在一起。 
· 除非必要,不要在Return返回语句中使用小括号。 
理由 
· 关键字不是函数。如果小括号紧贴着函数名和关键字,二者很容易被看成是一体的。 
例如 
if (condition) 



while (condition) 



strcmp($s, $s1); 

return 1; 

3.4. 别在对象架构函数中做实际的工作 

别在对象架构构造函数中做实际的工作, 构造函数应该包含变量的初始化和(或)不会发生失败的操作。 
理由 
· 构造不能返回错误 。 
例如 
class Device 

function Device() { /* initialize and other stuff */ } 
function Open() { return FAIL; } 
}; 

$dev = new Device; 
if (FAIL == $dev->Open()) exit(1); 

3.5. If Then Else 格式 

布局 
这由程序员决定。不同的花括号样式会产生些微不同的样观。一个通用方式是: 
if (条件1) // 注释 


else if (条件2) // 注释 


else // 注释 


如果你有用到else if 语句的话,通常最好有一个else块以用于处理未处理到的其他情况。可以的话放一个记录信息注释在else处,即使在else没有任何的动作。 
条件格式 
总是将恒量放在等号/不等号的左边,例如: 
if ( 6 == $errorNum ) ... 
一个原因是假如你在等式中漏了一个等号,语法检查器会为你报错。第二个原因是你能立刻找到数值而不是在你的表达式的末端找到它。需要一点时间来习惯这个格式,但是它确实很有用。 

 
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.003sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版