要想成为一名“合格”的程序员,就必须要有良好的编程习惯和规范,这样做的好处有很多,诸如:可以提高代码质量,提高程序的可维护性,提高开发速度和效率等。以下就简要的列出几条日常编写程序时大概要注意的一些“事项”吧,供大家参考。
一、使用前后缀
前缀具有说明该命名的类属性的功能,具有相同前缀的命名很容易确定其懒于同一类。
如:class MyDataBase {}; class MyDataGrid {};
后缀则反映一个名称的功能。如:$AgeMax ,$ScoreMin ,$ScoreCnt function IsMale (),function GetAge (),function SetAge ()
二、类命名规范
命名前道德要知道它是什么,命名的目标是:通过类名提供的线索使程序员可以基本了解这个类是什么。
规范:1、使用大写字母作为词的分隔,其它字母均使用小写
     2、尽量少于3个词
     3、名字的首字母使用大写
     4、不要使用下划线“_”
     5、缩写词不要全部使用大写字母,如:使用PhpTest而非PHPTest
三、方法和函数命名规范
方法和函数是执行一个动作,对其命名应该清楚地说明它们是做什么的。
如:用CheckForErrors()代替ErrorCheck(),DumpDataToFile()代替DataFile()
还有方法和函数常使用一些前缀来表意,如:(1)Is含义为问一个关于某事物的问题 IsMale(),(2)Get 取得一个数值GetAge(),(3)Set设定一个数值SetAge()
四、方法中参数命名规范
方法中参数命名的目标是:可以通过其名称随时知道哪个变量对应哪个变量,并中使用与类属性相似的名称,而不至于产生重命名冲突,常用规范如下:
(1)第一个字母使用小写字母(2)在首字符后的所有字母都按照类命名规则首字母大写,如:class Student { function GetInfomation(&$rName,&$rAge)}
五、类属性命名规范
方法名和属性名很相似,特别是存取元素,类属性常常使用前缀‘m’防止属性和方法名发生冲突。'm'总是名字的开头起修饰作用,就像以'r'开头表示引用一样。规范如下:(1)以字符'm'为前缀(2)'m'后采用与类命名一致的规则。
六、变量规则
变量的命名目标为:指示变量在代码中的作用域,并使所有的变量在代码都看起来不同,容易辨认。常用规范如下:
(1)局部变量规范
所有字母都使用小写,使用'_'作为每个词的分界。示例:function GetInfomation(){$student_name;$student_age;}
(2)引用变量规范
引用必须带r前缀,使得类型不同的变量容易辨认,进而可以确定哪个方法返回可更改对像,哪个方法返回不可更改对像。示例:function GetInfomation($rName){$rName=this -> mName;}
(3)全局变量使用规范
全局变量应该带'g'如:global $gLog,golbal &$grLog;
(4)全局常量使用规范
全局常量用'_'分隔每个单词,并且全部使用大写字母。示例:define ("A_GLOBL_CONSTANT","Hello,World!")
(5)静态变量使用规范
静态变量前应该带's'.示例:static $sstudent_count=0;
 
由于时间仓促其它相关规范,有待进一步整理。

PHP编程时的规范化命名的更多相关文章

  1. J2EE开发时的包命名规则

    http://www.blogjava.net/paulwong/archive/2012/04/15/374675.html 转一个J2EE开发时的包命名规则,养成良好的开发习惯 代码编写规范目的: ...

  2. 模块化编程时,#include到底要放在哪里?

    结合我自己的经验,谈一谈模块化编程时#include应该出现的位置.总结起来大体有二条规则: 一.规则1:只包含必要的头文件 看下面这个模块: ===foo.c==== #include <st ...

  3. 单片机中用c编程时头文件reg51.h及reg52.h解析

    单片机中用c编程时头文件reg51.h及reg52.h解析 我们在用c语言编程是往往第一行就是reg51.h或者其他的自定义头文件,我们怎么样来理解呢? 1)“文件包含”处理. 程序的第一行是一个“文 ...

  4. 编程时 对 用途这个字段定义时 不要用using 这个英文

    编程时  对 用途这个字段定义时  不要用using 这个英文

  5. 用eclipse javaEE编程时,不管什么程序都会出现这个错误[SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:bookstore' did not find

    用eclipse javaEE编程时,不管什么程序都会出现这个错误[SetContextPropertiesRule]{Context} Setting property 'source' to 'o ...

  6. 用MPLAB IDE编程时,软件总是弹出一个窗口提示: “the extended cpu mode configuration bit is enabled,but the program that was loaded was not built using extended cpu instructions. therefore,your code may not work properly

    用MPLAB IDE编程时,软件总是弹出一个窗口提示:"the extended cpu mode configuration bit is enabled,but the program ...

  7. 【爬坑】Python 3.6 在 Socket 编程时出现类型错误 TypeError: a bytes-like object is required, not 'str'

    1. 问题描述 Python 3.6 在 Socket 编程时出现错误如下 Traceback (most recent call last): File "F:/share/IdeaPro ...

  8. 实现编程时Vim自动导入相应模板

    Vim文本编辑器以简洁高效著称,那么我们在编程时能有自动加载相应的模板,从而省去一些固定的输入提升工作效率呢!当然可以,可以有多种方法实现,我这里介绍一种非常简单的方法. 首先在你的主用户文件下面建立 ...

  9. AWT编程时,Button按钮上的中文编程□□□

    今天学到AWT编程时,照着书上的代码打,代码如下: import java.awt.*; public class PanelTest{    public static void main(Stri ...

随机推荐

  1. SQL server 基本语法

    文字摘自https://www.cnblogs.com/chaoa/articles/3894311.html 一.定义变量 --简单赋值 declare @a intset @a=5 print @ ...

  2. MySQL可以通过phpmyadmin连接,但是无法通过SqlYog(Windows)或Sequel Pro(Mac)下进行远程连接

    更改数据库密码: update user set password=passworD("sunjingyu0509!") where user='root'; flush priv ...

  3. linux配置虚拟主机

    linux 下怎么配置虚拟主机 linux 下怎么配置虚拟主机,在网上找到N个资料都是高手们随便说几句,都没怎么说清楚.问题:  我把域名(bs.jxiop.com)指向了 68.10.140.10 ...

  4. js 统计数组中元素的个数

    var all = "02 06 11 12 19 29 09 10 12 19 22 29 08 11 13 19 28 31 07 08 09 15 22 27 10 18 19 29 ...

  5. zxing解析带logo二维码会报com.google.zxing.NotFoundException

    参考原文:https://blog.csdn.net/cyl1226541/article/details/70557232 //复杂模式,开启PURE_BARCODE模式(☆☆☆) HINTS.pu ...

  6. 使用Jmeter(三十)针对ActiveMQ JMS POINT TO POINT压力测试(转载)

    转载自 http://www.cnblogs.com/yangxia-test 准备工作 针对JMS类型的Sampler,需要额外的jar包(这里用的是apache ActiveMQ,将下载的AMQ  ...

  7. 四、Factory Method 工厂方法模式

    需求:对象的创建由工厂统一创建,会使用到模板模式 代码清单: 工厂: public abstract class Factory { public abstract Product createPro ...

  8. java根据wsdl调用webservice

    本方法参考 Java核心技术 卷二 (第八版) 中10.6.2节相关内容,特与大家分享,欢迎大家批评指教 <a href="http://www.webxml.com.cn/" ...

  9. java面试题:数据库mysql

    Web后端数据库一般用mysql. 数据库基础 Q:数据库三范式是什么? 第一范式:列不可再分 第二范式:行可以唯一区分,主键约束 第三范式:表的非主属性不能依赖与其他表的非主属性 外键约束 且三大范 ...

  10. 去7JAVA

    public static void main(String args){ for(int i=1;i<100;i++){ if(i%7!=0 && i %10!=7 & ...