当前位置:   article > 正文

代码书写规范_代码格式规范

代码格式规范

1、代码缩进

在书写代码的时候,必须注意代码的缩进规则,我们规定代码缩进规则如下:
在缩进中使用tab缩进,不要是空格缩进
例子:

  1. for ( $i=0;$i<$count;$i++ ) {
  2. echo 'test';
  3. }

2、括号的使用

在程序中进行结构控制代码编写,如if、for、while、switch等结构,大括号传统的有两种书写习惯,分别如下:
a.{ 直接跟在控制语句之后,不换行,如:

  1. for ( $i=0;$i<$count;$i++ ) {
  2. echo 'test';
  3. }

b.{ 在控制语句下一行,如:

  1. for ( $i=0;$<$count;$i++ )
  2. {
  3. echo 'test';
  4. }

其中,a是PEAR建议的方式,但是从实际书写中来讲,这并不影响程序的规范和影响用phpdoc实现文档,所以可以根据个人习惯来采用上面的两种方式,但是要求在同一个程序中,只使用其中一种,以免造成阅读的不方便。

3、嵌入式赋值

避免嵌入式复制,例如:

  1. if($a == get_user_info($uid)){
  2. echo $a;
  3. }

  1. while ( $a != ( $c = getchar() ) ) {
  2. ...
  3. }

4、if else swith for while等书写

对于控制结构的书写遵循以下规则:
  a.在if条件判断中,如果用到常量判断条件,将常量放在等号或不等号的左边,例如:if ( 6 == $errorNum ) ,因为如果你在等式中漏了一个等号,语法检查器会为你报错,可以很快找到错误位置,这样的写法要注意;
  b.switch结构中必须要有default块;
  c.在 for 和 wiile 的循环使用中,要警惕 continue 、 break 的使用,避免产生类似 goto 的问题;

5、每行只有一条语句

切记不要在同一行内写多条语句。
错误的:

$foo = 'this'; $bar = 'that'; $bat = str_replace($foo, $bar, $bag);

正确的:

  1. $foo = 'this';
  2. $bar = 'that';
  3. $bat = str_replace($foo, $bar, $bag);

6、字符串

字符串使用单引号引起来,当字符串中有变量时使用双引号,并且使用大括号将变量包起来。 另外,当字符串中有单引号时,也应该使用双引号,这样就不用使用转义符

错误的:

  1. "My String" // no variable parsing, so no use for double quotes
  2. "My string $foo" // needs braces
  3. 'SELECT foo FROM bar WHERE baz = \'bag\'' // ugly

正确的:

  1. 'My String'
  2. "My string {$foo}"
  3. "SELECT foo FROM bar WHERE baz = 'bag'"

7、段标记

使用 PHP 的完整标记,防止服务器不支持短标记( short_open_tag )参数。

错误的:

  1. <? echo $foo; ?>
  2. <?=$foo?>

正确的:

<?php echo $foo; ?>

8、PHP错误

行代码时不应该出现任何错误信息,并不是把警告和提示信息关掉来满足这一点。 例如,绝不要直接访问一个你没设置过的变量(例如,$_POST 数组), 你应该先使用 isset() 函数判断下。

确保你的开发环境对所有人都开启了错误报告,PHP 环境的 display_errors 参数也开启了, 你可以通过下面的代码来检查:

  1. if (ini_get('display_errors') == 1)
  2. {
  3. exit "Enabled";
  4. }

有些服务器上 display_errors 参数可能是禁用的,而且你没有权限修改 php.ini 文件, 你可以使用下面的方法来启用它:

ini_set('display_errors', 1);

注解

使用 ini_set() 函数在运行时设置 display_errors 参数和通过 php.ini 配置文件来设置是不一样的,换句话说,当出现致命错误(fatal errors)时,这种方法没用。

9、常量

常量遵循和变量一样的命名规则,除了它需要全部大写。尽量使用 CodeIgniter 已经定义好的常量, 如:SLASH、LD、RD、PATH_CACHE 等。

错误的:

  1. myConstant // missing underscore separator and not fully uppercase
  2. N // no single-letter constants
  3. S_C_VER // not descriptive
  4. $str = str_replace('{foo}', 'bar', $str); // should use LD and RD constants

正确的:

  1. MY_CONSTANT
  2. NEWLINE
  3. SUPER_CLASS_VERSION
  4. $str = str_replace(LD.'foo'.RD, 'bar', $str);
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/989714
推荐阅读
相关标签
  

闽ICP备14008679号