美文网首页
PHP开发规范——代码规范篇(一):命名规范

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

作者: 从入门到颈椎病 | 来源:发表于2018-06-28 23:15 被阅读354次

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

一、变量命名

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后缀

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

本文 完

相关文章

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

    规范的命名方式可以使得代码规整、易读易理解,而且方便他人和自己的后期的代码审查和维护。本篇主要会提到 变量命名 (...

  • PM篇

    PM 技术篇1.开发规范命名规范,异常处理规范,日志规范,统一框架,代码commit规范,代码评审规范,统一API...

  • 项目开发规范参考

    现有项目的开发规范文档 目录 命名规则文件命名 HTML规范 CSS规范 JS规范变量申明简写代码性能优化注释规范...

  • Android编码规范

    Android开发代码规范相关系列文章: Android命名规范 Android编码规范 Android编码规范有...

  • Android开发中的优化方案

    一、命名规范 代码规范先从命名规范开始,Android的命名规范主要涉及:Java源代码,xml文件,图片资源。 ...

  • git分支命名规范

    git 分支命名规范 git 分支命名规范 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,...

  • PHP基于PSR代码规范 --- 2019-08-30

    PHP 代码规范 FIG 制定的 PHP 规范,简称 PSR,是 PHP 开发的事实标准。FIG 是 Framew...

  • 乐乎项目优化

    编程: 1、代码规范。架构规范、文件组织规范、命名规范、代码逻辑规范、资源存放。 一、使用cocoapod 二、代...

  • PHP开发规范——代码规范篇(二):书写规范

    统一的书写风格可以使得团队间的代码更容易融合和交流,也能够提升整个团队的开发效率。本篇将要提到的是: 代码缩进、大...

  • PHP开发规范——代码规范篇(三):注释规范

    在代码中添加合适的注释来注解代码可以代码的可读性,可以使得自己和团队其他成员在之后的代码的审查和维护中更加省时省力...

网友评论

      本文标题:PHP开发规范——代码规范篇(一):命名规范

      本文链接:https://www.haomeiwen.com/subject/itojyftx.html