首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DevOps 代码质量实战(PHP 版)

PHP 老项目常见质量问题 问题一:未提交 composer.lock Composer 官方文档(getcomposer.org)提醒:一定要提交 composer.lock 文件到代码库,才能确保所有人...查看 PHP 官方文档可以发现:PHP 7.4 不赞成使用花括号语法来访问数组元素和字符串偏移量。...,目前 PHP 7.1 已经废弃,7.2 即将结束维护升级,建议大家使用 7.4 。...image.png image.png  Lint:增量检查代码规范  清理了第三方代码之后,可以通过 Lint(代码静态分析工具)程序扫描自己的代码PHP  Lint 常用的是 CodeSniffer...image.png image.png image.png PHP 代码自动生成 API 文档 在项目开发中,最好让代码先行,在代码里写注释,这样可以保证注释与代码一起维护,然后通过工具自动生成文档

64442

PHP 免费代码质量检测工具 SonarLint

SonarLint 是一个免费的开源IDE 扩展,可识别并帮助您在编写代码时解决质量和安全问题。...像拼写检查器一样,SonarLint 会显示缺陷并提供实时反馈和清晰的修复指导,以便从一开始就提供干净的代码。...php $a = 2024; if ($a) return ['year' => 2024]; 可以直接 ctrl +shift+s 对当前文件扫描质量,或者鼠标右键也可以选择扫描 扫描结果 解决办法...php $a = 2024; if ($a) { return ['year' => 2024]; } 2 for 循环停止条件应该是不变的 不规范代码 for ($i = 0; $i <...php for ($i = 0; $i < 10; $i++) { echo $i; } 3 所有的“catch” 块都应该能够捕获异常 在某些情况下, catch 块是死代码,因为它永远不会捕获任何异常

12310
您找到你想要的搜索结果了吗?
是的
没有找到

用于检查和改进代码PHP代码质量工具

然后,您决定向您的团队介绍一些代码质量工具。 亲爱的读者,您已经拥有了良好的方法:代码质量工具对于编写可靠且无错误的PHP代码至关重要。它可以帮助您的同事检测代码库中的缺陷并向他们传授一些关键概念。...安装代码质量工具 安装此处描述的工具总是有多种方法。 我个人的偏好是使用 cgr 来使用composer的全局包安装来避免全局范围的依赖性问题。 在大多数情况下,您也可以使用 PHAR 格式。...您甚至可以创建自己的制造商来使用您想要的每个PHP代码质量工具。作为参考,您可以参考我的 neomake配置文件 。...不过,这里有一些手册链接到Jetbrain的文档: PHPMD PHPCS PHP质量工具:必不可少的 没有以下插件我不会写任何代码行。他们会正确格式化您的代码,并为您提供宝贵的建议。...这些PHP代码质量工具绝对可以帮助您解决这个问题。由于您的代码库将越来越多,因此重构是必需的,这些工具可以向您展示从哪里开始。每天,他们可以为您提供所需的所有这些小事,以保持您的代码库健康。

2.7K20

PHPStan :PHP静态代码质量分析工具

然而 PHP 就不会这样了。如果程序出错,会执行到错误的代码的时候崩溃。...PHPStan 是一种用于 PHP 代码的静态分析工具。它是用 PHP 编写的,并于 2017 年首次发布。...PHPStan 主要用于检测 PHP 代码中的错误,包括语法错误、类型错误、逻辑错误和安全漏洞。它还可以帮助开发者发现代码中可能存在的性能问题和可读性问题。...PHPStan 特点 静态分析: PHPStan 是一款静态分析工具,这意味着它在运行 PHP 代码之前就会对其进行分析。这使得它能够检测到编译时错误,而无需实际运行代码。...类型系统: PHPStan 拥有一个强大的类型系统,能够对 PHP 代码中的变量和函数进行类型检查。这有助于开发者发现代码中的类型错误,并确保代码的正确性。

18710

PHP 项目中代码格式风格和代码质量把控

团队开发中, 我们尽量要保持风格一致的代码 phpstorm设置统一的风格PSR12 File -> Settings -> Editor-> Code Style -> Set from -> select...PSR12 使用PHP_CodeSniffer检查修复代码风格 在根目录新建phpcs.xml文件,团队统一使用 关于配置文件(官方的文档说明太少太少) 当你运行phpcs,得到错误消息之后...然后把错误消息的标准文本拿去搜源码,定位到调用的函数,然后再去修改配置文件 比如我很不喜欢每个函数后面都有end xxx()(因为这个功能IDE已经提供) 然后我搜索源码中的//end定位到PHP_CodeSniffer...\Standards\Squiz\Sniffs\Commenting::ClosingDeclarationCommentSniff 之后把php.cs配置文件中的<rule ref="Squiz.Commenting.ClosingDeclarationComment...phpunit测试、phpcs<em>代码</em>风格检测(phpcbf修复)、phpstan静态检测 如果以上步骤都通过,则合并到master推送到仓库.

9810

SonarQube:为你的PHP代码质量保驾护航

SonarQube旨在提供一个完整的代码质量管理解决方案,支持多种计算机编程语言,并内置大量常用代码检查规则。...代码分析:然后,Sonarqube使用其内置的代码分析器分析代码并生成有关代码质量的重要信息,例如代码复杂性、代码重复性、代码测试覆盖率等。...反馈和持续改进:用户可以使用Sonarqube提供的反馈功能来共享意见和建议,以改善代码质量。此外,Sonarqube还提供了持续集成和持续交付等功能,以帮助团队在代码开发过程中不断改进代码质量。...创建SonarQube项目 创建一个 php-tinywan项目 4. 添加代码仓库 1、这里选择本地代码仓库 Locally 2、生成访问令牌 5....SonarQube是一个开源的代码质量检测平台,可以分析多种编程语言编写的代码,并提供相应的质量报告。

24910

代码质量--可重用代码

可重用的代码指:在相似业务场景下,用的是同一份代码。 可重用的代码可以减少重复劳动。一个软件中,会有很多类似的业务场景。将这些场景抽象成可重用的代码。开发新功能时,重用代码可减少重复劳动。...一、如何写出可重用的代码 代码块的职责越多,越难被复用。写出可重用的代码就是:识别,分离出可复用的部分。 考虑这样的场景:代码块A的功能是获取接口数据,并渲染UI。...代码块B的UI和A一样,但获取的接口数据不一样。代码块C获取的数据和A一样,但UI和A不一样。A,B,C之间的代码都不能被复用。...要改成可复用的代码,就是将可复用的UI,获取接口数据的代码独立出来。 下面,我们来看些常见的可复用的部分和复用方法。 (一)UI展示 UI展示为外观的展示,包含:HTML和CSS。...二、总结 要写出可重用的代码,本质就是识别和分离出可复用的部分。前端可以从UI展示,接口调用,业务流程,数据,工具函数中找出可复用的部分。 代码质量的下一层次就是:可重构的代码

13130

php生成缩略图质量较差解决方法代码示例

,在首页要有个排名,显示评论最多的前十位用户的列表,列表有个略图是用户最新上传的作品,如果使用原来的图,图片过大,首页加载过慢,因此要使用略图 以上来使用imagecopyresized这个函数,显示质量很差如图...后来改用imagecopyresampled效果明显改变效果如图 附上完整代码: /** function thum($img_name,$max_width,$max_height,$suffix)...img_handle=imagecreatefromjpeg($img_name); $img_func='imagejpeg'; break; } / */ $quality=100;//图片质量...', '', PHP_VERSION)>= 512)){//针对php版本大于5.12参数变化后的处理情况 $quality=9; } / */ $thum_handle=imagecreatetruecolor...$str1[1]; } 以上就是本文关于php生成缩略图/ /质量较差解决方法代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。

54000

提高代码质量代码审查

所以代码审查(Code Review)就像是把玩鉴赏手工艺品一样,通过审查代码来体会编码者的思维逻辑,同时相互学习取长补短。代码审查是提高个人和团队的代码质量的一个很有用的方法。...个人对自己的代码可以进行代码审查,因为今天的你已经不是昨天的你,你可以站在不同的角度和不同的层次来审查自己过去的代码。子曰:温故而知新。所以对于自己的代码应该定期做Code Review。...自己的代码审查很好进行,只要你有毅力。相比之下团队的代码审查就不是那么容易实施了。但是代码审查在团队中能体现出更大的促进作用。...除了可以让团队成员之间相互学习进步、激发思考、统一编程风格之外,代码审查还能发现一些系统的潜在问题和QA测试不到的问题,从而提高代码质量。...推荐开源的Redmine (Ruby on Rails)和Mantis (PHP/MySQL),以及提供在线服务的Lighthouse。

1.1K10

如何提高代码质量

说起代码质量,脑子里会冒出很多词,命名规范、格式规范、日志规范、单元测试覆盖率... 但我觉得,代码质量总结起来就两个:好看和好用。...好看是指代码可读性好,容易理解、容易维护,别人接手了不骂你;好用则指代码健壮,不容易出错,机器跑着不骂你。即使出错,也容易定位,容易止损和恢复。 为何需要提高代码质量?...,我认为写代码本身是一个创造过程,能让人享受其中,如果有太多的条条框框约束,写代码就失去了创造的乐趣,所以,这里为代码质量建设立一个原则: 只提供建议,不强制遵循 鼓励创造性的编码 鼓励艺术性的编码...--->再延续下去 代码质量建设怎么开始呢?...学习是个渐进过程,代码质量的学习我还在进行中,如果有收获,会来更新。如果被人diss,我还觉得有理,我也会更新进来。

50410

代码质量规则

.NET 代码分析提供旨在提高代码质量的规则。 这些规则分为设计、全球化、性能和安全性等领域。 某些规则特定于 .NET API 用法,而其他规则与通用代码质量相关。...规则索引 下表列出了代码质量分析规则。 规则 ID 和警告 描述 CA1000:不要在泛型类型中声明静态成员 调用泛型类型的静态成员时,必须指定该类型的类型参数。...CA1508:避免死条件代码 方法具有在运行时计算结果始终为 true 或 false 的条件代码。 这会导致条件的 false 分支中出现死代码。...CA3011:查看 DLL 注入漏洞的代码 处理不受信任的输入时,请谨慎加载不受信任的代码。...如果你的 Web 应用加载不受信任的代码,攻击者可能能够将恶意 DLL 注入到你的进程中,并执行恶意代码

2.1K30

​CODING DevOps 代码质量实战系列第二课: PHP

----- PHP 老项目常见质量问题 问题一:未提交 composer.lock Composer 官方文档(getcomposer.org)提醒:一定要提交 composer.lock 文件到代码库...查看 PHP 官方文档可以发现:PHP 7.4 不赞成使用花括号语法来访问数组元素和字符串偏移量。...[4] 修改之后即可解决,从这个技术细节可以看出此开源项目无法跟上 PHP 官方的版本升级,在我们做技术选型时要避免使用这种落后的项目、框架,而应使用全球知名框架,能够紧跟语言官方版本升级,目前 PHP...[7] [8] ----- Lint:增量检查代码规范 清理了第三方代码之后,可以通过 Lint(代码静态分析工具)程序扫描自己的代码PHP Lint 常用的是 CodeSniffer,内置知名的「...[11] [12] [13] PHP 代码自动生成 API 文档 在项目开发中,最好让代码先行,在代码里写注释,这样可以保证注释与代码一起维护,然后通过工具自动生成文档。

45630

如何提升代码质量

不管是新人还是老手,都特别想提高自己的代码质量,至少让别人看着舒服。我在以往的工作经历中,并没有太重视个人编码的能力,包括正确性、美观性还有效率。...2、知识共享 进行 Code Review 不仅仅是为了讲述代码如何编写,还要介绍其背后涉及的业务知识,在此过程中,根据提交者的描述阅读代码的逻辑,看代码实现是否跟描述一致。...3、统一编码风格,提升质量 代码质量大概分为以下层级: 可以正常运行——可以测试通过——容易阅读——容易维护。 Code Review 至少要让代码达到易阅读的级别。...总结 如今写代码就像以前上学时写字一样,能写得好代码就相当于写了一手好字。如果你隔段时间回头看自己的字都不忍直视,那么可以通过临摹练字来提升自己,最终习得一手好字。...---- - 相关阅读 - 如何产出规范、安全、高质量代码? Thoughtworks读书雷达4.0——读书正当时 点击【阅读原文】可至洞见网站查看原文&加粗字体部分的相关链接。

62840

如何提高代码质量

对靠谱程序员来说,代码质量,以及一颗能够洞悉高质量软件编写之道的大脑弥足珍贵。 本文从 产品,接口,指标,日志,代码清晰度,代码复杂度 等方面,谈谈如何提高代码质量。...程序员的产品是代码代码的用户是其它程序员 —— 所以高质量代码是让别的程序员容易理解,容易使用的代码。注意,这个层次的容易理解,是指结构,原理和接口上容易理解,而并非代码的细节容易理解。...它直接导致了「不运动肚子上的赘肉必然增加」,「不收拾房子房子会越来越乱」,「不持续改进代码代码质量会越来越低」这些让人烦心的事情。 而这个破定律的祖师爷 Lord Kelvin 说: ?...同样起点的代码,同样水准的程序员,一个一周迭代一次,一个一天迭代一次,其累进的质量在若干周期之后,会有质的变化。 代码清晰度和代码复杂度 如果上面几个方面都做好了,代码质量再差也是有下限的。...这样降低了代码的 complexity,提高了代码的 clarity,同时,还使得代码的 extensibility 大大提升 —— 以后要加一个 “type 3” 的处理,仅仅是加一个简单的函数而已,

62500

提高golang代码质量

有很多方法可以提高代码质量,以下是一些建议: 1. 遵循Go语言规范:确保你的代码遵循Go的官方编码规范。可以使用工具如`gofmt`和`goimports`来自动格式化代码和管理导入。 2....编写可读性高的代码:使用清晰的命名约定、添加注释和文档以解释代码的功能和用途。 3. 划分模块:将代码划分为独立的模块和包,每个模块和包只负责一个功能,有助于提高代码的可读性和可维护性。 4....编写单元测试:为你的代码编写单元测试,确保代码的各个部分按预期运行。Go语言的`testing`包可以帮助你完成这个任务。 5. 重构代码:定期重构代码,消除重复的部分,提高代码的效率和可读性。...学习设计模式:了解常见的设计模式,并在适当的场景下应用它们,可以提高代码的灵活性和可维护性。 8. 代码审查:让你的同事或其他开发者审查你的代码,他们可能会提出有价值的建议,帮助你改进代码质量。...以上这些建议可以帮助你提高代码质量。最重要的是保持学习的心态,并在实际编程过程中不断实践和总结经验。

16510

如何评价代码质量

在作者的工作经历中,每当同事评论项目代码质量的时候,作者听到最多的评论是“代码 写得很烂”或“代码写得很好”。作者认为,用“好”“烂”这样的字眼来描述代码质量是非常 笼统的。...面到如此多的词汇,我们到底应该使用哪些词汇来描述一段代码质量呢? 实际上,我们很难通过其中的某个或某几个词汇来全面地评价代码质量,因为这些词汇是从不同角度描述代码质量的。...同样,对于代码质量,我们也需要综合多种因素进行评价,不应该从单一的角度去评价。例如,一段代码的可扩展性很好,但可读性很差,那么,我们不能片面地认为这段代码质量高。...如果用数字 来量化代码的可读性,那么应该是一个连续的区间值,而非 0、1 这样的离散值。 不过,我们真的可以客观地量化一段代码质量吗?答案是否定的。对一段代码质量的评价,常常带有很强的主观性。...7 可测试性(testability) 相比上述 6 个代码质量评价标准,代码的可测试性较少被提及,但它同样重要。代码的可 测试性的高低可以从侧面准确地反映代码质量的高低。

40520

CODING DevOps 代码质量实战系列第二课: PHP

PHP 老项目常见质量问题 问题一:未提交 composer.lock Composer 官方文档(getcomposer.org)提醒:一定要提交 composer.lock 文件到代码库,才能确保所有人...查看 PHP 官方文档可以发现:PHP 7.4 不赞成使用花括号语法来访问数组元素和字符串偏移量。 ?...修改之后即可解决,从这个技术细节可以看出此开源项目无法跟上 PHP 官方的版本升级,在我们做技术选型时要避免使用这种落后的项目、框架,而应使用全球知名框架,能够紧跟语言官方版本升级,目前 PHP 7.1...Lint:增量检查代码规范 清理了第三方代码之后,可以通过 Lint(代码静态分析工具)程序扫描自己的代码PHP Lint 常用的是 CodeSniffer,内置知名的「PSR12」规范,包括很多规则...PHP 代码自动生成 API 文档 在项目开发中,最好让代码先行,在代码里写注释,这样可以保证注释与代码一起维护,然后通过工具自动生成文档。 ?

43250

圈复杂度和代码质量优化(附带示例代码纠正代码质量

例如下面这个函数,圈复杂度为1,意味着代码只有一条路径。...: def add(a, b): return a + b 对于有一条分支的代码,它的圈复杂度为 2 ,比如下面递归计算阶乘的代码: def factorial(n):   if n == 0:...Linux/Mac Java,JS OClint 免费 Mac OC Coverity 商业 Windows/Linux/Mac C/C++,Java,C#,OC/C++,JS,Python,Ruby,PHP...,Scala,GDScript 代码质量优化 ——————————————————————————————————————— 把子程序的一部分提取成另一个子程序,不会降低整个程序的复杂度,只是把决策点移到其他地方...1.提炼函数(php为例,下面一样): function test($number){   if($number < self::MIN_NUMBER)   {     $number = self:

5.8K42
领券