易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP 编程的 5 个良好习惯

2008 年 12 月 29 日
像其他语言一样,开发人员可以用 PHP 编写出各种质量级别的代码。学习良好的编程习惯能够提高代码质量和效率。
根据具体的情况,一般的开发人员往往比优秀的开发人员的效率低 10%~20%。优秀的开发人员的效率更高,因为他们拥有丰富的经验和良好的编程习惯。不良的编程习惯将会影响到效率。本文通过展示一些良好的编程习惯,帮助您成为更优秀的程序员。
这些良好的编程习惯不仅能提高效率,还能让您编写出在应用程序的整个生命周期中易于维护的代码。编写出来的代码可能需要大量的维护;应用程序的维护是一笔很大的开支。养成良好的编程习惯能够提高设计质量(比如模块化),从而使代码更加容易理解,因此维护就更加容易,同时也降低维护成本。
不良的编程习惯会造成代码缺陷,使其难以维护和修改,并且很可能在修改时又引入其他缺陷。以下是 5 个良好的编程习惯,能够帮助 PHP 代码避免这些缺陷:
使用良好的命名。
分成更小的部分。
为代码添加注释。
处理错误条件。
切忌使用复制粘贴。
下一小节将详细介绍这些习惯。
使用良好的命名
使用良好的命名是最重要的编程习惯,因为描述性强的名称让代码更加容易阅读和理解。代码是否好理解取决于是否能在未来维护它。即便代码不带有注释,如果它很容易理解,将大大方便日后的更改。这个习惯的目标是让您编写的代码像书本一样容易阅读和理解。
不良习惯:含糊的或无意义的名称
清单 1 中的代码包含过短的变量名、难以辨认的缩写词,并且方法名不能反映该方法的功能。如果方法名给人的感觉是它应该做这件事情,而实际中它却做另外的事情,这将带来严重的问题,因为它会误导人。
清单 1. 不良习惯:含糊的或无意义的名称

<?php
function getNBDay($d)
{
switch($d) {
case 5:
case 6:
case 7:
return 1;
default:
return ($d + 1);
}
}
$day = 5;
$nextDay = getNBDay($day);
echo ("Next day is: " . $nextDay . "\n");
?>
良好习惯:说明性强并且简洁的名称
清单 2 中的代码体现了良好的编程习惯。新的方法名具有很强的说明性,反映了方法的用途。同样,更改后的变量名也更具说明性。惟一的保持最短的变量是 $i,在本清单中,它是一个循环变量。尽管很多人不赞同使用过短的名称,但在循环变量中使用还是可以接受的(甚至有好处),因为它明确表明了代码的功能。


相关文档:

PHP多进程协作编程之 popen

使用popen结合SHELL命令也可以实现多进程并发编程。
实例如下:
<?php
//b.php文件
$file = 'testdir/file.txt';
for ($i=0;$i<10;$i++){
    $fp = fopen($file,'a+');
    fputs($fp, $i.'\r\n');
    fclose($fp);
    sleep(1);
}
?> ......

oracle apache php乱码问题

办法一
select * from V$NLS_PARAMETERS
  $conn = oci_connect('scott', 'donkey', 'demo', 'zhs16gbk');
 while ($dat = oci_fetch_row($cur)) {  
    print_r(iconv('gb2312', 'utf-8', $dat[0]));  //$nickname = mb_convert_encoding($dat[0], 'utf-8', 'gbk');&n ......

PHP学习 运算符优先级 和 运算符

运算符优先级
下表从低到高列出了运算符的优先级。
结合方向 运算符
左 ,
左 or
左 xor
左 and
右 print
右 = += -= *= /= .= %= &= |= ^= ~= <<= >>=
左 ? :
左 ||
左 &&
结合方向 运算符
左 |
左 ^
左 &
无 == != === !==
无 < <= > >=
左 ......

某大公司的PHP面试题(转载自PHP100)

1. 如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到?
[php]
echo $_SERVER ['PHP_SELF'];
echo $_SERVER ['SERVER_ADDR'];
[/php]
2. 求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数
[php]
$begin=strtotime('2007-2-5');
$end=strtotime('2007-3-6');
echo ($end-$begin)/(24*3600);
[ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号