PHP编程习惯
“前侧”通过精心收集,向本站投稿了3篇PHP编程习惯,以下是小编收集整理后的PHP编程习惯,仅供参考,希望对大家有所帮助。
篇1:PHP编程习惯
10条PHP编程习惯
1、使用单引号括起来的字符串
当使用双引号来括字符串时,PHP解释器会对其进行变量替换、转义等操作,如 “\n”,如果只想输出一个基本的字符串,用单引号会节省一些资源。当然,如果需要进行变量替换的,那就必须用双引号了。
2、字符串的输出
以下哪一条语句的运行速度最快?
print “Hi my name is $a. I am $b”$$
echo “Hi my name is $a. I am $b”$$
echo “Hi my name is “.$a.”. I am “.$b;
echo “Hi my name is “,$a,”. I am “,$b;
echo ‘Hi my name is ‘,$a,’. I am ‘,$b;
最后一条的运行速度是最快的。 print比echo要慢,在字符串中进行变量替换时会慢,而连接字符串要比用逗号连接来得慢,最后一句则是第一个习惯的体现。所以,不在字符串中进行变 量替换不仅会加快程序运行速度,也会让你的代码在任何语法高亮显示的编辑器中显得更为易懂(变量会被高亮显示出来)。很少人知道echo的参数可以用逗号 连接,且速度会比字符串连接要来得快。最后再用上第一个习惯,那这条语句就非常好了。
3、在数组索引中使用单引号
正如你在上面的测试题中所看到的,$x[sales]从严格意义上来说是错误的,索引应该被括起来,即$x['sales']。这是因为PHP会将 没有括起来的索引辨认为“裸”字符串,并把它解释为一个常量。当找不到该常量的定义时,才将其解释为一个字符串,所以这条语句才是可运行的。把索引括起来 可以省去这部分工作,如果将来正好要用这一字符串定义常量时也就不会有错误了。
4、不使用开始标志的缩写形式
你正在使用 这样的符号吗?“
5、尽量不要使用正则表达式
在进行常规的字符串操作时,尽可能不要去使用正则表达式(preg和ereg系列函数)。str_replace函数要比preg_replace快得多,甚至 strtr函数也要比str_replace来得快。省去这些不必要的麻烦吧,你的老板会感谢你的。
6、不要在循环声明中使用函数
这个问题不单单出现在PHP中,你可以在其他语言的代码中经常看到:
差:for($i=0;$i< count($array);$i++){…}
好:$count=count($array);for($i=0;$i& lt;$count;$i++){…}
如果在循环声明中使用了 count函数,那每次循环都会调用一次,
如果循环次数很多,会浪费非常多的时间。
7、不要使用 register_globals和magic quotes
老版本的PHP在安装时会默认打开这两个功能,这会引起安全漏洞、编程错误及其他的问题,如只有用户输入了数据时才会创建变量等。如今这两个功 能都被舍弃了,每个程序员都应该避免使用。
8、一定要对变量进行初始化(这 里的“初始化”指的是“声明”)
当需要没有初始化的变量,PHP解释器会自动创建一个变量,但依靠这个特性来编程并不是一 个好主意。这会造成程序的粗糙,或者使代码变得另人迷惑,因为你需要探寻这个变量是从哪里开始被创建的。另外,对一个没有初始化的变量进行递增操作要比初 始化过的来得慢。所以对变量进行初始化会是个不错的主意。
9、对代码进行注释
这个问题已经提过很多次了,但再多次也 不够。我知道有些地方是不聘用不对代码进行注释的程序员的。我在前一次工作面试后和副总、面试官一起浏览我写的代码,当他们对我所做的代码注释印象深刻, 还了解了一下我的这一习惯。一天之后,我得到了这个工作。
我知道有些自称为PHP大师的人声称自己的代码写得很好,不需要添加什么注 释。在我看来,这些人都是垃圾。学一写注释的规范和技巧,熟悉一下phpDocumentor或Doxygen之类的注释辅助软件,都是值得的。
10、遵循一个编程规范
关于这一点,是你需要在面试中询问你潜在的老板的,问问他们正在使用什么编程规范。PEAR?Zend?内部规范? 要提及你正在使用的编程规范,不管是你自己创建的,还是目前普遍流行的一种。对于PHP这种松松垮垮的.语言来说,如果没有一个好的编程规范,那么那些代码 就会看起来想一堆垃圾。发臭的,令人作呕的垃圾。一些基本的规范包括空格规范、打括号匹配、命名风格等。这对任何一个追求高质量的代码的人来说都是必须 的。
有人说:“我讨厌你的4个空格的缩进。”我要说,什么?用4个空格来缩进?这比用制表符过占用3个字符的空间。更重要的是,只要 是使用比记事本高级的编辑器,你可以自定义制表符的缩进值。所以每个程序员都可以以其最习惯的方式来看代码。可以时设置为4,也可以设置为0(如果你是个 受虐狂)。反正我不在乎,但你就是不能用空格来缩进!
篇2:c语言之良好的编程习惯
1.在使用变量时应该遵循一下良好的编程习惯,
<1>定义有意义的变量名,有助于程序自成文档,可以减少注释。
<2>用作变量名的标识符,第一个字母应该小写。大写字母开头和字母全部大写的标识符有专门的含义。
<3>变量名使用多个单词可使程序具有更好的可读性,这种情况下,需要将第一个单词外的每个单词首字母大写或在每个单词之间加入下划线_以区分不同的单词。
2.只有内建数据类型和函数对象类型适用于传值调用。对于其他类型,建议使用引用常量传参,而不是传值。因为引用常量参数的方式更高效,而且可以避免“截断问题”
3.定义的静态存储变量无论是全局的还是局部的,该变量定义和初始化都是在程序编译时进行的。在实际应用中,如果没有为静态变量赋初值,某些编译器进行编译时,可能会出
错,为了安全起见,应该在声明变量时进行初始化。
4.并非所有的递归数学公式都可以转为递归程序。在递归结构进行大型程序设计时,需要考虑到可理解性和效率之间的关系。
5.任何递归程序都可以通过控制系统堆栈转为非递归程序。
6.仅当程序大部分函数都使用某个变量时,才应将其变量声明为全局变量。如果只有一些函数,则应将该变量作为参数传递给这些函数,并不将他们声明为全局变量。
7.内部函数(staic)在一些情况下具有非常重要的作用,
例如使用内部函数可以防止在其他文件代码中由于误操作调用该函数而破坏其数据。
8.用户编写登录程序时使用getch函数,在输入用户名密码时不显示输入信息。
9.使用putchar和putch函数输出字符,当输出超过窗口的右边界时会自动转到下一行的开始继续输出。当窗口内填满内容仍然没有结束输出时,窗口屏幕会自动逐行上移直到输
出结束为止。
10.用户使用完文件之后关闭文件,如果程序在结束后没有显示地关闭文件,有可能会丢失数据。如果文件不是正常关闭,缓冲区的内容可能没有写在磁盘上。
11.在文本模式下最好少用fseek函数,因为已存在库函数的转义,在文本模式下“\r\n”还是被fseek函数当作两个字符。
12.c语言的高级文件处理能被大多数程序员理解,因此如果用户使用的是fopen(),fgetc()等此类高级函数,将会帮助程序员更好的理解代码。
13.文件句柄可以是任何有效的标识符,由大小写字母、数字、下划线字符组成。文件句柄没有标志性的前缀,因此为了使得文件句柄有所区别,程序员经常以
全部大写字母表示。
14.使用rename()函数时需要注意一下两点。
<1>在重命名打开文件之前,必须先关闭该文件
<2>当使用rename函数将某个文件从不受保护的位置复制到受保护的位置时,该文件仍保持较低的限制权限,即该文件不受保护。
15.同上,使用remove()函数时必须先关闭它。
篇3:成功软件开发者的9种编程习惯数据库教程
编程
好的原程序做出好的软件有些人会想:只要程序运行结果好,就不管原程序编得怎样,但绝对不是这样的。软件不是一次性就作完的,有必要做修改,扩展等管理。所以原程序要尽量作成易看懂,管理方便。
这样做,第一是为了软件开发者方便,其次还会影响到软件的性能。管理不方便的程序不会作出好的软件。
希望通过这篇文章能学到好的编程习惯。要理解这文章的内容,你至少要懂得1个开发工具语言。这里举例说明的都是C语言,但你对C语言没有了解也不要担心。这里说明的是原理而不是特定的语言。
1. 语句要结束得彻底---(分号;)
程序员经常有的失误之一是忘记在语句结束后加一个分号。这样的问题点不易发现,时而让程序员不知所措。编程时要时时注意每个语句是否以分号结束,虽然不是所有语言都以分号结束。下面有忘记点分号的例子。
int main(void)
{
/* 没有分号,导致问题*/
printf(“Hello World!\n”)
return(0);
}
很多的人犯这样的错误。不到几条的程序是不难发现这样的问题,但1000条以上的程序里呢?查找那忘记写分号了的语句不会是很容易的事。记住,结束一条语句,一定要写分号,如同一般文章结束后点句号一样。
还有一种关于分号的失误是不该写分号的时候写分号。有经验的程序员看到下面例子会觉得好笑,但笔者确实看到了很多这样的失误。
/* main() 后面不该写分号 */
int main(int argc, char *argv[]);
{
printf(“Hello World”);
return(0);
}
函数或Method后面是不该写分号的。
2. 要适合使用空格和tab键
C语言是不分辨空格的,因此程序也可以不需要空格一直写下去,但这样的程序会是谁都看不懂的“很有难度”的程序,请看以下例子:
if(x==0) {a=b=c=d=MAX; x++;}
这样写,也许会节省空间,但不仅别人,编程的本人也会很难看懂。程序要写得容易看懂!
if(x == 0)
{
a = b = c = d = MAX;
x++;
}
这样写,看起来不很清楚吗?程序要有确切的空格才容易看得懂。
3. 统一使用大括号和切断方式
每个程序员使用大括号({})和改行的方式都有自己的习惯,这样,把程序移交给别人继续做的时候,会出现混乱。比如象以下例子:
int main()
{
int x = 1;
int y = 10;
while(x < y ){
printf(“Value of x is %d\n”, x);
x++;
}
}
有些程序员会这样写大括号:
int main()
{
int x = 1;
int y = 10;
while(x < y )
{
printf(“Value of x is %d\n”, x);
x++;
}
}
笔者是喜欢第二种方式。因为一段语句的开始和结束很明显。我们不能要求每个程序员都用某一种方式来编程,但一个程序里一定要统一。还有,看别人编的程序时要想到他人编程的习惯也许与你不同。
4. 不乱用if语句
有些人很喜欢用“if”语句,如下:
if(a == 0)
{
a++;
return(a);
}
if(a == 1)
{
a += 5;
return(a);
}
if(a == 2)
{
a += 10;
return(a);
}
if(a == 3)
{
a += 20;
return(a);
}
if(a == 4)
exit(1);
有没有比这更好的办法呢?else if语句?不是。好的方法是用“switch-case”语句来写简便的程序:
switch(a)
{
case 0: a++;
return(a);
case 1: a += 5;
return(a);
case 2: a += 10;
return(a);
case 3: a += 20;
return(a);
default: exit(1);
}
如果没有与a一致的值,会执行default里定义的作业,上面的例子是要执行结束。
5. 不乱用程序切断(Block)
很多人经常乱用程序切断。使用三个以上的切断是比较难以看懂的程序。请看下面例子:
int a = 10;
int b = 20;
int c = 30;
int d = 40;
if(a == 10)
{
a = a + d;
if(b == 20)
{
b = b + a;
if(c != b)
{
c = c + 1;
if(d >(a + b))
printf(“Made it all the way to the bottom!\n”);
}
}
}
这也许是夸张了,但确实有很多人真的这样做,
那如何写得更好一点呢?一种方法是用函数来分写:
void next(int a, int b, int c, int d)
{
if(c != b)
{
c = c + 1;
if(d >(a + b))
printf(“Made it all the way to the bottom!\n”);
}
}
int main()
{
int a = 10;
int b = 20;
int c = 30;
int d = 40;
if(a == 10)
{
a = a + d;
if(b == 20)
{
b = b + a;
next(a, b, c, d);
}
}
return(0);
}
要这样写,也许会增加工作量,但程序编得结构化,容易看懂,而且如果函数做得更好,也可以在其他地方再使用。
6. 写好注释
要养成写注释的习惯。特别是别人难以理解的程序或变量一定要注释,一个月后,也许你自己也需要看那注释呢。
int x = 100;
int y = 1000;
if(x < y)
a = 0;
else
a = 1;
你能知道上面的程序意味着什么?如果不知道变量x,y和a指的是什么,那么很难理解。让我们给它标个注释再看吧:
/*
* 检测损益的程序
*/
int x = 100;
/* x 是卖书的总额*/
int y = 1000
/* y是做书本的费用*/
int a;
/* 确认是否有赢利*/
/* 比较x和y: */
if(x < y)
/* 1指损失 */
a = 1;
else
/*0指赢利 */
a = 0;
这样注释,不懂C语言的人也会看懂各语句意味着什么,各变量指的是什么。写注释是好习惯,但不要什么都注释。注释是为了好理解,不是为了写长编文章。
int profit = 1;
/* 赢利等于1 ?? */
int loss = 0;
/* 亏损等于 0 ?? */
/* 如果赢利等于1 */
if(profit == 1)
/* 打印出“得赢利啦”??*/
printf(“We made a profit!\n”);
/* 如果不是 */
else
/*打印出“我们亏损啦”*/
printf(“We made a loss!\n”);
这样注释是浪费时间。一般是定变量或变量值的时候需要注释,还有说明程序的目的,使用某个函数,procedule等的时候也需要。
7. 起名要合理
程序,变量,procedure,structure等名一定要跟它的内容联系起来,变量不要起名如”x”,”y”,”z”
也许你会说笔者在上面举的例子里也用了x,y等,可笔者这样做的理由是他不牵涉到其他程序,实际开发软件的时候,笔者当然会使用有意义的变量名。请看下面例子:
void x(int a, int b)
{
int z;
z = a + b;
printf(“z is %d\n”, z);
}
在这,我们可以知道x做什么,但不知道它意味着什么。a,b,z也一样。让我们稍微改过来再看吧:
void sum_of_ages(int jacks_age, int jills_age)
{
int total_age;
total_age = jacks_age + jills_age;
print(“total_age is %d\n”, total_age);
}
虽然没有注释,但容易看出来要做什么。起名起得好,没有注释也可以。
8. 确认Buffer
要时时确认对设定的排列或变量的大小,以避免数据混乱或导致系统出问题。请看下面使用者输入数据的例子: char city[10];
/* 为都市名称的排列 */
printf(“Enter a city name: ”);
scanf(“%s”, city);
printf(“City is %s\n”, city);
在这里,都市名称设定为10字(英文字)以内。如果使用者输入10字以上的都市名称会怎么样呢?可以说程序失败或覆盖Buffer里面的数据。不管怎样,不要做冒险的事,你要检查文字的长度:
char city[10];
/*为都市名称的排列*/
printf(“Enter a city name: ”);
fgets(city, sizeof(city), stdin);
printf(“City is %s\n”, city);
上面已修改的程序是:如果使用者输入10字以上的都市名,只接受Buffer能接受的长度为止,其外的会不接受。
9. 绝对不相信使用者
这是很重要的规律。千万不要相信将要使用你的软件的人,不要认为使用者会按你希望的方式来操作,反而把他们想成专门发现程序毛病的人。举例说,上面的程序就是为了那些输入都市名更长的的使用者而确认文字长度的。
象C语言需要明确的数据形式的开发工具使用者,要记住确认输入数据形式和程序数据形式是否一致,不然会出现问题。
磨刀不误砍材工
以上的编程习惯是为你自己的方便。实际编程之前,要多做准备(分析,设计)。虽然稍麻烦,但为了编出易懂整齐的程序,不要舍不得花时间准备,不然以后会需要更多的时间来修改,扩展你的程序的。
【PHP编程习惯】相关文章:
1.php简历
2.php 面试题
3.编程心得体会
4.数控编程说课稿
5.编程语言是什么
6.CNC编程简历表
10.PHP程序员笔试题






文档为doc格式