状元街道值得一看!高级PHP工程师必备的编码技巧及思维

阅读 22162  ·  发布日期 2020-08-24 11:44  ·  温州优光网络科技有限公司|建站|APP小程序制作|做网站SEO推广优化
【摘要】 推荐:《PHP视频教程》好的开发者通常以代码质量来定义。在软件行业,写好的代码意味着在在测试,更新,扩展或者修复漏洞中省钱。本文,我将向你展示一些现实生活中技巧和想法的例子,来帮助你清理你的逻辑代码,重构它,让它变得更健壮和模块化。这些技巧将不仅仅帮助你重构你的旧代码,而且给你一些如何从现在开始写出简洁代码的好建议。什... 【温州小程序开发,温州微信公众号,平阳做网站,平阳网站建设公司,平阳小程序商城制作,昆阳万全做网站,鳌江水头小程序,萧江腾蛟微信公众号,山门顺溪南雁海西南麂凤卧麻步怀溪网络网店服务,政采云网店管理服务】...

值得一看!高级PHP工程师必备的编码技巧及思维

推荐:
《PHP视频教程》好的开发者通常以代码质量来定义。
在软件行业,写好的代码意味着在在测试,更新,扩展或者修复漏洞中省钱。
本文,我将向你展示一些现实生活中技巧和想法的例子,来帮助你清理你的逻辑代码,重构它,让它变得更健壮和模块化。
这些技巧将不仅仅帮助你重构你的旧代码,而且给你一些如何从现在开始写出简洁代码的好建议。
什么是重构,为什么我们需要它?重构是指帮助我们写简洁代码的方法和步骤。
这对其他可能阅读,扩展和不需要怎么编辑来复用我们代码的其他开发者来说是很重要的。
下面的内容将向你展示一些重构逻辑代码,让它变得更好的例子。
不要在没有单元测试的情况下重构生产环境的代码我的第一条建议是从不在没有完全进行单元测试的情况下开始重构逻辑代码。
我的理由是:
你将会以很难有修复的损坏的功能收尾,因为你也很难指出是哪里损坏了。
因此,如果你要重构它,从测试开始。
保证你准备重构的部分被测试覆盖到。
PHPUnit 代码覆盖分析.从你代码最底层开始重构看一下下面的图片。
这是一个我从 Github 找到的真实的酒店管理系统项目。
这是一个开源的项目,可想闭源项目将是糟糕的。
示例:
从底层开始重构你看这个代码,这里用红色标出了三个层级。
最底层应该是在第一个 if 条件下被 if/else 包围的申明。
通常,最底层是集中在单一逻辑处理,比较容易重构。
让你的方法更短,分解它们到更小的方法或者配置文件/DB 表也许在这里,我们可以向下面一样提炼它到一个私有方法:
使你的方法更短下一个深入点将是上传参数和加载视图。
现在,再来看看在重构其他部分之后的 add() 方法。
它变得更加简洁,易读,易于测试。
示例:
首先重构最底层if 申明坚持使用大括号大多数编程语言都支持单行 if 申明,因为这样比较简单,所以一些开发就这么使用,但是这样不便于阅读,而且容易造成问题,因为一个空行就可以中断条件造成崩溃。
看下下面两个示例的不同:
示例: 使用大括号别使用魔术数字或者魔术字符串:
下个示例中,你注意到如果房间超过 250 ,会返回一个错误信息。
这里,250 就被认为是一个魔术数字。
如果你不是写这个的开发者,很难指出这个数字表示什么。
示例:
魔术数字为了重构这个方法,我们可以指出 250 表示最大的房间数。
为了替换硬编码,我们可以提取它到一个变量 $maxAvailableRooms 。
现在对其他开发者来说,它变得更易被理解。
示例:
修复魔术数字不要使用 else 申明,如果你不是真的需要:
在相同的 availablerooms() 函数中,你注意到那个 if 申明, 其中我们可以很容易摆脱 else 部分,而且逻辑保持一致。
示例:
忽略 else 申明使用能够表示你的方法,变量和测试的命名在后面的示例中,你会发现酒店管理系统有两个方法分别是“ index() ”和“ room_m() ”。
对我来说,我搞不清它们的目的是什么。
我认为它应该很容易被理解,如果它们的命名都能够描述自己。
示例:
不好的方法命名充分利用你的编程语言的功能许多开发者不会利用到他们使用的编程语言的全部功能。
很多功能能够节约你们的的时间,而且能够让你们的代码更健壮。
看下下面的示例,注意如何在更少代码情况下更容易达到相同的结果的,通过使用类型提示。
最后,我想提供一些关于更好编码的快速提示:
使用新的数组形式 [ ] 替代旧的 array()。
除非不检查数据类型很重要,否则使用 === 操作符替代 ==。
给公共方法提供简短的描述性名称总是一个好主意。
私有方法可以使用更长的名称,因为它们的适用范围比较有限。
仅对实现接口的方法使用通用名称例如 add(),并对单个类方法使用描述性名称例如 addUser() 或 addDocument()。
从类中删除未使用的方法。
对返回值为 boolean 等的函数使用 is/has 前缀:
isAdmin($user),hasPermission($user)。
始终在类方法和属性中使用访问修饰符。
注意接口污染:
仅使用用户可以公开使用的方法。
在公共方法位于顶部的位置组织类方法。
始终在类中应用单一职责的概念。
原文地址:
https://medium.com/@maladdinsayed/advanced-techniques-and-ideas-for-better-coding-skills-d632e9f9675译文地址:
https://learnku.com/php/t/37900以上就是值得一看!高级PHP工程师必备的编码技巧及思维的详细内容,更多请关注php中文网其它相关文章!
微信
分享相关标签:
php本文转载于:
learnku,如有侵犯,请联系a@php.cn删除
上一篇:
教你使用mixphp打造多进程异步邮件发送
下一篇:
详解VSCode+PHPstudy配置PHP开发环境的步骤相关文章相关视频php工程师培训哪家好php工程师培训多少钱php工程师php培训费用多少php工程师培训教程内容是什么值得一看!高级PHP工程师必备的编码技巧及思维数据表的连接与新增操作2数据表的连接与新增操作1数组常用函数-3数组常用函数-2 [温州做网站PHP教程]