要想成为一名“合格”的程序员,就必须要有良好的编程习惯和规范,这样做的好处有很多,诸如:可以提高代码质量,提高程序的可维护性,提高开发速度和效率等。以下就简要的列出几条日常编写程序时大概要注意的一些“事项”吧,供大家参考。
一、使用前后缀
前缀具有说明该命名的类属性的功能,具有相同前缀的命名很容易确定其懒于同一类。
如: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. Python基础学习Day3 数据类型的转换、int、str、bool、字符串的常用方法、for循环

    一.数据类型的转换 常用的是:int 转str.str转int.int转bool 时   非零即为 True . # 数据类型之间转换 ***** # int <--> str str(i ...

  2. jquery.cookie介绍和用法

    1.依赖jQuery库 2.浏览器兼容性情况 3.下载 官方github:https://github.com/carhartl/jquery-cookie 4.使用 创建一个整站cookie $.c ...

  3. java-学习3(jdk-环境配置)

    学习java先安装jdk环境配置 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...

  4. linux安装php-redis扩展

    wget http://pecl.php.net/get/redis-2.2.5.tgz #解压 tar zxvf redis-2.2.5.tgz #进入安装目录 cd redis-2.2.5 /us ...

  5. 启用mongodb授权认证

    linux下 1.以–auth 启动mongod 2.在配置文件mongod.conf 中加入 auth = true

  6. 加载 AssetBundle 的四种方法

    [加载 AssetBundle 的四种方法] 1.AssetBundle.LoadFromMemoryAsync(byte[] binary, uint crc = 0); 返回AssetBundle ...

  7. React Native 初步

    [React Native 初步] 1.Create React Native App is the easiest way to start building a new React Native ...

  8. telnet ip/域名 端口 是否成功

    有时候会ping ip 通,但是telnet不通,可能端口未开. telnet不成功,则显示不能打开到主机的链接,链接失败 . telnet成功,则进入telnet页面(全黑的),证明端口可用.

  9. Ambertools15安装(详细)

    这篇博文专门讲述 Ambertools15的安装方法,尽管Ambertools16版本已经正是发行了,但两者在安装方式上没有任何区别.比较偏爱Ambertools15的原因主要还是在容量方面(230M ...

  10. Spyder启动黑屏,终端显示QOpenGLShaderProgram::uniformLocation(qt_Matrix): shader program is not linked QOpenG

    cd /etc/ld.so.conf.d目录中有 i386-linux-gnu_GL.conf and x86_64-linux-gnu_GL.conf等文件cat x86_64-linux-gnu_ ...