PHP开发规范——代码规范篇(一):命名规范

规范的命名方式可以使得代码规整、易读易理解,而且方便他人和自己的后期的代码审查和维护。本篇主要会提到 变量命名普通变量命名、常量命名、成员变量、参数名)、方法函数命名类命名和一些命名约定

一、变量命名

1.普通变量

  • 变量中的所有字母字符均为小写

例:
$student = 'Li Lei';
反例:
receive_HTML = '404 Not Found!';
receive_Html = '404 Not Found!';
强制使用:
receive_html = '404 Not Found!';

  • 变量命中只能出现字母和下划线 _ 和必要时的数字(变量中除非十分必要时可出现数字,否则不建议在命名中使用数字)

例:
$order = 'I bought a watch last year!';
$browser_chrome = 'Google Chrome';
反例:
$teacher1 = 'Mr. wang';
$teacher2 = 'Mr. Liu';
推荐使用:
$teacher_wang = 'Mr. Wang';
$teacher_liu = 'Mr. Liu';

  • 变量以字母开头,不能以下划线 _ 和数字开头,也不能以下划线结尾

例:
$name = 'Choel';
反例:
$_name = 'Choel'; (普通变量杜绝使用下划线开头)

  • 变量中禁止出现拼音和英文单词的组合,更不允许出现汉字,不推荐拼音来命名
    例:

$send_mesessage = 'Hello World!';
反例:
$good_yagao = '牙膏'; (杜绝使用)
$shangpin_yagao = '牙膏'; (不推荐使用)
推荐使用:
$good_toothpaste = '牙膏';

  • 变量名尽量不使用缩写,或者使用通用的、公认的缩写

例:
$receive_html = '404';
$nwnu_name = '西北师范大学';
反例:
$tea_name = 'Mr. Wang'; (不推荐使用)
推荐使用:
$teacher_name = 'Mr. Wang';

  • 变量名要达到望文生义的效果

2.常量

  • 常量名全部大写,要求语义明确,不局限于变量名称的长度,各单词之间用下划线 _ 连接

例:

define("GREETING", "Welcome to earth!");
define("GREETING_TO_ROBOTS", "Welcome to earth!");
  • 常量名要达到望文生义的效果
  • 常量名中只能出现大写字母和下划线 _ ,杜绝出现数字
  • _ 只用来作连接作用,不出现在变量名来头和结尾

3.成员变量

  • 成员变量名以小写字母开头,成员变量名由多个单词组成时,除第一个单词首字母小写,其他单词首字母大写然后连接,即使用驼峰命名法命名( lowerCamelCase

例:

<?php
    namespace App\Http\Controllers\Admin;

    use App\Http\Controllers\Controller;
 
    class IndexController extends Controller
    {
        private $sendType = '';
        
        public function getSuperManName() {
            findSuperManName();
        }
    }
  • 杜绝出现除字母之外的其他符号,不推荐在成员变量中使用数字
  • 成员变量名要达到望文生义的效果

4.参数名

  • 方法函数的参数名以小写字母开头,由多个单词组成时,除第一个单词首字母小写,其他单词首字母大写然后连接,即使用驼峰命名法命名( lowerCamelCase

例:

<?php
 
function sayHello($wordType, $length) {
        //do something
    }
}
  • 杜绝出现除字母之外的其他符号,不推荐在参数名中使用数字
  • 参数名要达到望文生义的效果

二、方法函数命名

  • 方法函数名以小写字母开头,方法函数名由多个单词组成时,除第一个单词首字母小写,其他单词首字母大写然后连接,即使用驼峰命名法命名( lowerCamelCase
  • 方法函数名中禁止出现拼音和英文单词的组合,更不允许出现汉字,不推荐拼音来命名
  • 杜绝出现除字母之外的其他符号,不推荐在方法函数名中使用数字
  • 方法函数名要浅显易懂,达到望文生义的效果

例:创建的 getSuperManName() 方法和调用的 findSuperManName() 函数都是用了驼峰命名法

<?php
    namespace App\Http\Controllers\Admin;

    use App\Http\Controllers\Controller;
 
    class IndexController extends Controller
    {
        public function getSuperManName() {
            findSuperManName();
        }
    }

三、类命名

  • 类名以大写字母开头,类名由多个单词组成时,各单词首字母大写然后连接,即使用驼峰命名法命名( UpperCamelCase
  • 类名中禁止出现拼音和英文单词的组合,更不允许出现汉字,不推荐拼音来命名
  • 杜绝出现除字母之外的其他符号,不推荐在类名中使用数字
  • 类名要浅显易懂,达到望文生义的效果

四、一些命名约定

1.变量名

  • bool型的标志或者状态通常在命名中添加 _flag_status 后缀

例:
$receive_status = 'true';
$end_flag = 'false';

  • 数组使用 _arr 后缀名或者使用 名词复数形式

例:

$student_arr = ['Chole', 'Dedanlion', 'Wu'];
$students = ['Chole', 'Dedanlion', 'Wu'];
  • 从数据库查询到的数据集合通常使用 moduleName + _list / _data / _arr 约定来命名

2.方法名

  • 更新方法使用 update 前缀
  • 删除方法使用 remove 或者 delete 前缀
  • 插入方法使用 save 或者 insert 前缀
  • 获取单个数据方法使用 get 前缀
  • 获取多个数据方法使用 list 前缀
  • 统计方法使用 count 前缀
  • 判断方法使用 is 前缀

3.类名、接口名

  • 抽象类使用 Abstract 前缀
  • 异常类使用 Exception 后缀
  • 测试类使用要 测试类的类名 + Test后缀

由于本人学艺不精,未尽之处还望海涵,有误之处请多多指正,欢迎大家批评指教

本文 完

    原文作者:从入门到颈椎病
    原文地址: https://www.jianshu.com/p/de9e3a51c8e5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞