Filosfino

观察世界,出走青铜时代、梦马臆想

项目中究竟需要哪几种 lint?

发布于 # Programming

lint 指什么?

通常意义上讲,lint 在软件行业中是指从代码的静态分析中检测出潜在的问题,包括

我们对 lint 的诉求是什么?

团队内部开发时有哪些实践?

一些想法

区分这么多是为了在开发效率和代码质量的强检查之间做 tradeoff,如果大家的机器都很好,有资源在本地跑各种 lint 就没必要分的那么细了。一般对开源项目来讲,开发者的环境比较未知,给一套统一的就足够了,好处是无需配置多套 lint 的工作量,本地和 CI 一致。

代码风格的选择往往并不是有公认的最优选择的,而是权衡考虑各方面,包括编程者的知识背景、对编码风格的认知、在工程上的好处等等。虽然代码风格没有绝对的好坏,统一的代码风格在工程中有着不可替代的优势的,无论是在阅读、重构、搜索或者追溯性上。代码写多的人有一种代码的直觉,各种 pattern 了然于胸,借助它们来帮助快速理解代码,但即使这样,也许要考虑到不太熟悉项目的团队成员,代码中花里胡哨的写法、技术债、hack 写法、历史包袱等等脱离注释或文档是很难再被理解的,需要借助良好的书写方式、遵从特定的规范来书写,以起到帮助读者理解的作用。


延伸阅读