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

    1.准备工作 首先SE11自建一个数据库表(数据元素,域信息请提前建好) 2.编写代码 2.1 新建一个子屏幕 子屏幕中需新定义一个文本输入框,命名为:key_word,新建一个表控件,命名为tab, ...

  2. openlayers/// Puppeteer.js

    1.定位;https://viglino.github.io/ol3-ext/examples/map.interaction.geolocationdraw.html 2 .添加Overlay  d ...

  3. Spring-session redis 子域名 session

    Spring-session & redis 子域名共享session 例子: a.example.comb.example.comSpring 版本 4.2.6.RELEASE Spring ...

  4. springcloud eureka.instance

    1.在springcloud中服务的 Instance ID 默认值是: ${spring.cloud.client.hostname}:${spring.application.name}:${sp ...

  5. ORACLE grant权限

    oracle的系统和对象权限 本文转自: http://hi.baidu.com/zhaojing_boy/blog/item/0ffe95091266d939e824885f.html alter ...

  6. apache服务器伪静态配置说明

    apache服务器伪静态配置说明: 第一种 .如果是多城市版分类并且使用了城市二级域名即(多城市+多域名),请修改apache的配置文件,把以下代码添加到配置文件的最后一行即可,注意把qibosoft ...

  7. js改变表单的内容样式

    一.改变单个样式    var obj = document.getElementById("id");   obj.style.cssText = " display: ...

  8. jQuery MD5 加密

    一 MD5 概述 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value) ...

  9. Javascript 强制浏览器渲染Dom文档

    在Cordova+Framework7开发Hybrid App时,在iPhone 7上遇到一个诡异的现象(Chrome浏览器.Android都正常):js修改手风琴中的input文本框的值后,但页面仍 ...

  10. UVa 1103 Ancient Messages(二重深搜)

    In order to understand early civilizations, archaeologists often study texts written in ancient lang ...