静态分析的问题
所以有一个叫“赖斯”的人,他说,“我们真的无法了解任何程序的任何有趣之处”赖斯定理。好吧,当。

这是一个非常大的问题,因为我们真的很想知道这段代码有用吗?

赖斯定理并没有完全阻止静态分析,但它确实告诉我们,静态分析的每一次尝试都会在某种程度上存在缺陷。这是计算的一个基本问题,不是ESLint或Prettier特别是。

所以我真的希望每个阅读本文的人都能理解自动化工具将永远无法修复您的代码。

但自动化工具仍然提供价值。

好消息
Rice定理可区分syntatic和语义的程序性能。粗略地说,句法是“它是如何写的”,而语义是“它的行为方式”。

大多数语法问题都可以轻松识别和修复。其中最著名的是缩进和换行符之类的东西。这些东西不会影响程序的行为,但确实为程序员创建了一致的语法标准。

它的语义属性是棘手的。

清晰的分离
因此,作为肉体的非自动化人类,我们应该对任何可以为我们自动化语法标准的事物感到非常满意。

另一方面,任何旨在解决语义问题的自动化工具都应该受到怀疑。这并不是说我们不应该使用这样的工具,而是赖斯定理告诉我们自动化永远不会发现所有问题,即使对于它确实发现的问题,它有时也会出错。因此,就我而言,每个语义问题的解决都需要人类参与。

过去
它曾经是句法和语义问题的首选ESLint工具。在许多代码库中它仍然是。但是随着 的兴起,越来越多的语法内容被. 我强烈认为这是一种有用的职责分离。PrettierPrettier

我的位置上的弱点
每个系统都是遗留系统。ESLint没有考虑到他们的 API Prettier。但他们确实在设计 API 时考虑到了一个非常可定制的插件系统,并包含了一个“修复”选项,插件可以实现该选项以提供对问题的自动更正。但如上所述,我相信这种自动修复应该只允许用于语法问题。我认为语法问题应该是Prettier修复的唯一责任,但肯定存在许多ESLint带有“可修复”规则的插件Prettier无法处理。

我没问题。

我的立场的弱点是程序员可能需要检查比严格理论上必要的更多的问题。但我宁愿有这种情况而不是另一种选择。

结束语
如果每个人都扫树叶,保持花园清洁就很容易了。

我认为作为技术书呆子,我们都对浮华并提出解决我们所有问题的宏伟计划感到非常兴奋。但是,即使是我们工作中乏味的部分,也有一种安静谦逊的态度。我们很容易相信我们编写的下一段代码将最终解决我们所有的问题。不幸的是,总会有树叶落在草地上。我们越早接受这一点,我们就能越早停止对自动化工具的持续失望。我见过的最好的代码库是由团队维护的,他们不试图炫耀,但非常关心每一行代码。如果每个人都被扫走了…工作永远不会完成,但幸好我喜欢它

ESLint vs Prettier相关推荐

  1. 更新版-梳理前端开发使用eslint和prettier来检查和格式化代码问题

    更新版,之前的版本可以看这里:梳理前端开发使用eslint和prettier来检查和格式化代码问题 一.问题痛点 在团队的项目开发过程中,代码维护所占的时间比重往往大于新功能的开发.因此编写符合团队编 ...

  2. eslint 保存自动格式化_代码规范之理解ESLint、Prettier、EditorConfig

    授权转载自:nowThen https://juejin.cn/post/6895889063111294990 前言 团队多人协同开发项目中困恼团队管理一个很大的问题是:无可避免地会出现每个开发者编 ...

  3. vue项目接入eslint、prettier、husky+lint-staged

    引言 在vue-cli官方的脚手架创建项目时,会自动让选择Eslint+Prettier,如果是老项目想接入,那么按照下面步骤接入即可 eslint安装 npm i -D eslint eslint- ...

  4. ESLint 和 Prettier 配合使用

    CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客 ESLint 是一款 Lint 工具,包含了代码质量检查等等. 而 Prettier 仅仅只是一个代码风格的约束工具,对 ...

  5. 在vscode里配置ESLint和Prettier

    在vscode里配置ESLint和Prettier 文章目录 在vscode里配置ESLint和Prettier vscode插件和npm包区别 解决ESLint和Prettier冲突 vscode环 ...

  6. 前端代码规范工具ESLint和Prettier

    前端代码规范工具ESLint和Prettier 1. ESLint是什么? ESLint 是一个开源的 JavaScript 代码检查工具,由 Nicholas C. Zakas 于2013年6月创建 ...

  7. 安装lint-staged 报错:Cannot add lint-staged: only eslint, stylelint, prettier...

    错误背景: 在使用 prettier 格式化插件,我们希望提交代码时,借助 prettier 可以自动格式化所以需要安装: $ npx mrm lint-staged 不过安装过程中出现了错误 Can ...

  8. 【总结】1265- 理解 ESLint、Prettier、EditorConfig 代码规范

    前言 团队多人协同开发项目中困恼团队管理一个很大的问题是:无可避免地会出现每个开发者编码习惯不同.代码风格迥异,为了代码高可用.可维护性, 如何从项目管理上尽量统一和规范代码呢? [x] 文档约定 - ...

  9. React 创建项目流程+配置 eslint、 prettier 和 commitlint 规范工程

    一. 利用create-react-app创建TS项目 React中文文档 :开始 – React npx create-react-app projectName --template typesc ...

  10. eslint 搭配 prettier 格式化 + husky 搭配 lint-staged 实现提交格式化和检测

    eslint 搭配 prettier 格式化 + husky 搭配 lint-staged 实现提交格式化和检测 注:本文基本是写给自己看的, 属于一个记录笔记, 避免每次配置都要查, 写得不清晰, ...

最新文章

  1. matlab有没有查找替换,matlab-字符查寻与替换
  2. 5款没有专利纠葛的Linux发行版
  3. todomvp 谷歌的MVP实例
  4. 代码内查找函数引用_叮~~二级操作题 excel常考函数大梳理
  5. “陪护机器人”研报:距离真正“陪护”还差那么一点
  6. 一步一步跟我学习hadoop(5)----hadoop Map/Reduce教程(2)
  7. GeoHash入门及应用
  8. redhat红帽 centos yum管理
  9. SpringBoot整合Atomikos实现2PC二阶段分布式事务
  10. 小爱音箱 电脑 麦克风_拆解报告:小米小爱音箱Art 智能音箱
  11. ESP8266 wifi模块代码详解
  12. 思维方式-《策略思维》书中的精髓:生活工作中博弈无处不在,理解博弈论、善用策略思维,能帮助我们做出更好的决策。
  13. 群论基础速成(2):子群,陪集,正规子群,商群
  14. 计算机安装xp蓝屏怎么办,win7系统下装xp出现0x0000007B蓝屏解决方法|win7改装xp系统怎么设置BIOS...
  15. Be yourself——《按自己的意愿过一生》读后感
  16. Meta首份元宇宙白皮书9大看点,瞄准80万亿美元市场
  17. 计算机网络军训口号,关于物联网的军训口号
  18. 3D游戏开源引擎分析
  19. 《九日集训》第四天打卡
  20. shiro反序列化漏洞的原理和复现

热门文章

  1. 实证研究之|logit模型的使用
  2. 一周技术思考(第17期)-废墟的召唤
  3. iOS修改UIImage图片尺寸大小逻辑分辨率
  4. Python提取ABAQUS结果数据
  5. 彻底解决全界面多次点击Button的问题
  6. ntoskrnl.exe原因造成的 蓝屏
  7. react 数字滚动组件
  8. 一位博士生选择自杀,在论文中了顶会之后
  9. cass二次开发vba和lisp_选择AutoLISP还是VBA
  10. AI 时代,爱学习的程序员都关注了这些…