在 ShipMonk,我们一直追求极致的代码质量。虽然 PHPStan 已经非常强大,但我们仍然发现一些潜在的问题无法被标准规则捕捉到。为了解决这个问题,我们开发了一套自己的 PHPStan 规则,并将其开源,希望能够帮助更多的开发者。
composer在线学习地址:学习地址
ShipMonk PHPStan Rules 提供了大约 40 个额外的规则,涵盖了各种常见的编码错误和不良实践。例如,它可以帮助你:
禁止比较不可比较的类型,避免意外的对象比较。强制使用 match 语句处理枚举,确保所有枚举值都被正确处理。禁止在可调用对象中抛出检查型异常,避免潜在的异常处理问题。强制在返回迭代器时指定 $preserve_keys 参数,避免数据丢失。禁止在未声明为整数的变量上使用自增/自减运算符,避免类型错误。等等…
安装
使用 Composer 安装 ShipMonk PHPStan Rules 非常简单:
composer require --dev shipmonk/phpstan-rules
然后,你需要将 rules.neon 文件包含到你的 PHPStan 配置文件中:
立即学习“PHP免费学习笔记(深入)”;
# phpstan.neonincludes: - vendor/shipmonk/phpstan-rules/rules.neon
配置
你可以根据自己的需求,轻松地禁用或重新配置任何规则。例如,要禁用 enforceReadonlyPublicProperty 规则,可以这样配置:
代码小浣熊
代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节
51 查看详情
parameters: shipmonkRules: enforceReadonlyPublicProperty: enabled: false
或者,你可以禁用所有规则,然后只启用你需要的规则:
parameters: shipmonkRules: enableAllRules: false allowComparingOnlyComparableTypes: enabled: true
示例:allowComparingOnlyComparableTypes 规则
这个规则禁止使用比较运算符(>, =, )比较 int|string|float|DateTimeInterface 以外的类型,或者包含可比较类型的相同大小的元组。它主要针对意外的对象、枚举或数组比较,这些比较在 PHP 中是有效的,但往往会产生意想不到的结果。
function example1(Money $fee1, Money $fee2) { if ($fee1 > $fee2) {} // 比较对象是被禁止的}new DateTime() > '2040-01-02'; // 比较不同类型是被禁止的200 > '1e2'; // 比较不同类型是被禁止的
优势与实际应用
ShipMonk PHPStan Rules 的主要优势在于:
提高代码质量: 通过更严格的类型检查和代码规范,减少潜在的错误。减少运行时错误: 在开发阶段发现并修复错误,避免在生产环境中出现问题。提高开发效率: 通过自动化代码审查,减少手动检查的时间。促进代码一致性: 强制执行统一的代码风格,提高代码可读性和可维护性。
在实际应用中,ShipMonk PHPStan Rules 可以帮助你构建更健壮、更可靠的 PHP 应用程序。它可以应用于各种类型的项目,无论是小型个人项目还是大型企业级应用。通过持续集成和自动化代码审查,可以确保代码质量始终保持在高水平。
总而言之,ShipMonk PHPStan Rules 是一套非常有价值的 PHPStan 规则,可以帮助你显著提升代码质量,减少运行时错误,并提高开发效率。如果你追求卓越的代码质量,那么 ShipMonk PHPStan Rules 绝对值得一试。
以上就是如何利用ShipMonkPHPStanRules提升代码质量的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/575516.html
微信扫一扫
支付宝扫一扫