要想成为一名“合格”的程序员,就必须要有良好的编程习惯和规范,这样做的好处有很多,诸如:可以提高代码质量,提高程序的可维护性,提高开发速度和效率等。以下就简要的列出几条日常编写程序时大概要注意的一些“事项”吧,供大家参考。
一、使用前后缀
前缀具有说明该命名的类属性的功能,具有相同前缀的命名很容易确定其懒于同一类。
如: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. File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:

    1.centos7 系统,自带python2.7 ,我安装了python3.5 并设置为系统默认python ,yum 语法不支持 2.解决办法: ls /usr/bin | grep python选 ...

  2. 大型运输行业实战_day11_2_事务理论与实际生产配置事务管理

    1.什么是事务(Transaction:tx) 数据库的某些需要分步完成,看做是一个整体(独立的工作单元),不能分割,要么整体成功,要么整体生效.“一荣俱荣,一损俱损”,最能体现事务的思想.案例:银行 ...

  3. maven 配置 阿里仓库

    <mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>N ...

  4. Linus运行jar包的操作

    cd /    返回最顶层文件夹cd home/numa        进入home下的numa文件夹ll         查看当前文加夹下的所有文件ps -ef | grep java        ...

  5. Numpy:索引与切片

    numpy基本的索引和切片 import numpy as np arr = np.array([1,2,3,555,666,888,10]) arr array([ 1, 2, 3, 555, 66 ...

  6. 766. Toeplitz Matrix

    A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element. Now given ...

  7. phpunit 生成三种日志文件的配置方法

    #目录结构 windows bin目录下 ├── phpunit.phar ├── phpunit.cmd ├── phpunit.xml ├── build.xml ├── ArrTest.php ...

  8. angularjs 粘贴事件

    参考 http://www.jb51.net/article/89708.htm ng-paste 需要setTimeout,否则无法获取到数据

  9. 【pycharm】使用过程的相关问题

    背景:安装scrapy后在cmd里可以正常import scrapy模块,但是在pycharm里不可以(python2.7) 问题:cmd中能正常导入模块,在pycharm报错 原因:pycharm里 ...

  10. .net连接MySql 出错

    1>C#连接MySQL异常:The host localhost does not support SSL connections. 需要在连接字符串加入:SslMode = none;即可解决 ...