摘要 腾兴网为您分享:PHP代码编写规范,篆刻字典,优酷,学习计时,小t智联等软件知识,以及我爱写真网,哔哩哔哩唧唧app,碟中碟虚拟光驱,鬼泣31.3,西伯利亚t18,兄弟7450打印机驱动,活动app,讨饭表情包,去哪儿火车票预订,101贝考,常州公积金,签到表情包,朵唯女性手机,sd.360.cn,多物理场仿真等软件it资讯,欢迎关注腾兴网。不添加不需要的上下文 如果你的类名或对象名称有具体的含义,请不要重复该变量的名称。 差: ?php class Car{ public $carMake; public $carModel; public $carColor; //... } 好: ?php class Car{ public $mak...

不添加不需要的上下文

如果你的类名或对象名称有具体的含义,请不要重复该变量的名称。

差:

好:

函数参数数量(理想情况是 2 个以下)

限制函数参数的数量是非常重要的,因为它让函数更容易测试,参数超过三个的话,你必须用每个单独的参数测试大量不同的情况。

无参数是理想的情况。一个或两个参数是可以的,但应该避免三个。通常,如果你有两个以上的参数,那么你的函数试图完成太多的功能,若不是,大多数时候,较高级的对象就足以作为参数(译者注:比如数组、对象)。

差:

好:

<?php class MenuConfig { public $title; public $body; public $buttonText; public $cancellable = false;}$config = new MenuConfig();$config->title = 'Foo';$config->body = 'Bar';$config->buttonText = 'Baz';$config->cancellable = true;function createMenu(MenuConfig $config) { // ...}

一个函数应该只完成一件事

这是软件工程中最重要的规则。当函数做的事多于一件事情时,他们更难编写和测试。 当你可以将函数隔离成一个动作时,可以轻松重构,代码也将更易读。

差:

<?phpfunction emailClients($clients) { foreach ($clients as $client) { $clientRecord = $db->find($client); if ($clientRecord->isActive()) { email($client); } }}

好:

function emailClients($clients) { $activeClients = activeClients($clients); array_walk($activeClients, 'email'); } function activeClients($clients) { return array_filter($clients, 'isClientActive'); } function isClientActive($client) { $clientRecord = $db->find($client); return $clientRecord->isActive(); }

使用 get 和 set 方法

在 PHP 中,可以为方法设置 public、protected 和 private 关键字,可以控制对象上的属性可见性。这是面向对象的设计原则中的开放/封闭原则的一部分。

差:

class BankAccount { public $balance = 1000; } $bankAccount = new BankAccount(); // Buy shoes... $bankAccount->balance -= 100;

好:

class BankAccount { private $balance; public function __construct($balance = 1000) { $this->balance = $balance; } public function withdrawBalance($amount) { if ($amount > $this->balance) { throw new \Exception('Amount greater than available balance.'); } $this->balance -= $amount; } public function depositBalance($amount) { $this->balance= $amount; } public function getBalance() { return $this->balance; } } $bankAccount = new BankAccount(); // Buy shoes... $bankAccount->withdrawBalance($shoesPrice); // Get balance $balance = $bankAccount->getBalance();

推荐教程:《PHP教程》

软件开发php代码规范,php开发规范_PHP代码编写规范相关推荐

  1. 基于java 工单管理_实训任务工单1-2(编写规范Java代码) 实训任务工单1-2(编写规范Java代码).docx_学小易找答案...

    [其它]实训任务工单4-1(泛型类.泛型方法的应用) 实训任务工单4-1(泛型类.泛型方法的应用).docx [简答题]教学工单5-1Java序列化机制的使用 [填空题]The name of my ...

  2. [转]软件开发规范—模块开发卷宗(GB8567——88)

    做软件开发是有那么一套国准可参照的,当然就是那些文档了,这里列出一下所有软件开发的规范文档: 操作手册 用户手册 软件质量保证计划 软件需求说明书 概要设计说明书 开发进度月报 测试计划文档 测试分析 ...

  3. iOS代码规范和开发模式

    来源:吴白(@吴白_____ ) 链接:http://www.jianshu.com/p/834f5a824aee 从代码看一个程序员的笔力 从代码的整洁度上就可以看出一个程序员的实力,规范其实就是让 ...

  4. css宋体代码_前端开发必备的CSS命名规范与常用CSS代码集合

    编辑 | web前端开发 来源 | web前端开发 我们在用html+css进行网页的排版布局时,经常会遇到CSS命名,如果是在团队多人协作开发时,团队里都会有自己的命名规范与要求. 但如果是自己在个 ...

  5. 前端代码开发规范。web开发规范。web开发注意事项。前端开发如何写出更规范的代码

    一.图片观看: 二.文字描述: 1,web开发基本原则:     1.结构html,样式css,行为js:三者要分离,尽量确保文档和模板只包含HTML结构,样式都放到样式表里,行为都放到脚本里;   ...

  6. iOS App开发的那些事儿1:如何建立合适的规范

    <iOS App开发的那些事儿>系列文章从更宏观的角度出发,不仅仅局限于具体某个功能.界面的实现,而是结合网易云信iOS端研发负责人多年的经验,从如何优化现有代码的角度出发,深度分析如何创 ...

  7. iOS App开发那些事:如何选择合适的人、规范和框架?

    话大道理,笑话小说,小白兔的笑话,小学生笑话大全,开心小笑话,小学生幽默笑话,小明系列冷笑话,小白兔笑话,笑话小故事,小明冷笑话大全,经典小笑话 合适的人 首 先明确一点,合适的人是指纯技术团队的建设 ...

  8. 小程序开发运营必看:微信小程序平台运营规范

    一.原则及相关说明 ​ 微信最核心的价值,就是连接--提供一对一.一对多和多对多的连接方式,从而实现人与人.人与智能终端.人与社交化娱乐.人与硬件设备的连接,同时连接服务.资讯.商业. ​ 微信团队一 ...

  9. 09_Mybatis开发Dao方法——mapper代理开发规范

    一.开发规范 需要编写mapper.xml映射文件(本项目为userMapper.xml,类似于前面的user.xml). 编写mapper接口需要遵循一些开发规范,这样MyBatis可以自动生成ma ...

最新文章

  1. 一个隐马尔科夫模型的应用实例:中文分词
  2. 使用openssl给web站点颁发证书
  3. python自动测试p-python自动化测试_6
  4. kotlin对ZipInputStream与ZipOutputStream的一些拓展工具(压缩,解压)
  5. 当12C PDB遇上JDBC
  6. Oracle11G数据泵支持,Oracle11gr2数据泵新特性(五)
  7. shell 压测_【原】shell编写一个简单的jmeter自动化压测脚本
  8. 哪个Java线程消耗了我的CPU?
  9. HTTPS|SSL笔记-SSL双向认证失败(服务端证书信任库不含客户端证书)握手过程(含wireshark分析)
  10. MySQL的图形化安装
  11. 处女作:《游戏AI程序设计实战》2019.4.1
  12. 易如意php,易如意网络验证系统1.1【开源】
  13. Web前端开发技术实验与实践(第3版)储久良编著实训5
  14. Android框架揭秘读书笔记
  15. java resourcebundle_Java ResourceBundle.getBundle如何加载属性文件?
  16. 论高碳艺术与低碳艺术
  17. pokemmo客户端管理教程_pokeMMO安卓版教程
  18. 新媒体运营:如何策划出一场完整高效的活动方案?(二) 黎想
  19. 超详细——入门Github的代码上传
  20. python爬取携程网旅游_爬虫之携程网旅游信息爬取

热门文章

  1. 90天掌握高级JS(第一个阶段日志)
  2. Atlas 2.2.0 集成janusgraph 0.6.2
  3. Python 远程连接服务器,用它就够了
  4. 西门子PLC 1214和多台G120西门子变频器Modbud RTU通讯
  5. 安卓版围棋软件《飞燕围棋》的计划
  6. linux 查看nc文件,linux下nc的使用
  7. 关于UDK GameFramework的一点总结
  8. [激光器原理与应用-7]: 半导体制冷片与TEC温控器
  9. This gonna be my first Tech Blog
  10. java毕业生设计药房药品采购集中管理系统计算机源码+系统+mysql+调试部署+lw