Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';这是linting Javascript和Typescript应用程序的优点_Javascript_Typescript_Lint - Fatal编程技术网

什么';这是linting Javascript和Typescript应用程序的优点

什么';这是linting Javascript和Typescript应用程序的优点,javascript,typescript,lint,Javascript,Typescript,Lint,我已经搜索了这么多关于这个问题的综合答案,但我似乎找不到任何答案,所以我希望能得到一个关于用Typescript和Javascript编写linting应用程序的好处的综合答案,或者一个类似答案的链接 自从我开始写打字脚本代码以来,我就一直在对应用程序进行linting,而linting对我来说是常识,写干净的代码有一种很好的感觉。然而,我偶然发现了一个类型脚本代码,它充满了linting错误,我的代码编辑器每隔几行就有错误。显然,这感觉不太好,但我想知道,为什么建议在发布JS/TS应用程序之前

我已经搜索了这么多关于这个问题的综合答案,但我似乎找不到任何答案,所以我希望能得到一个关于用Typescript和Javascript编写linting应用程序的好处的综合答案,或者一个类似答案的链接


自从我开始写打字脚本代码以来,我就一直在对应用程序进行linting,而linting对我来说是常识,写干净的代码有一种很好的感觉。然而,我偶然发现了一个类型脚本代码,它充满了linting错误,我的代码编辑器每隔几行就有错误。显然,这感觉不太好,但我想知道,为什么建议在发布JS/TS应用程序之前对其进行lint处理,特别是因为我目前必须处理的应用程序似乎从未检查过TS linting错误,而且它们工作起来没有任何问题?这仅仅是因为它是干净的,还是它有任何性能或其他好处?

linter的存在是为了指出常见的潜在问题代码模式,这是基于整个社区,特别是linter的创建者多年的经验。如果出于某种原因需要在特定项目中实施自定义约定,大多数过梁也可以通过自定义规则进行扩展

潜在的问题并不意味着代码在特定情况下会产生错误。但是,为了避免这些潜在的问题而使用已知的更好的模式肯定会更好。linter通常非常保守,这并不意味着不太保守的代码不能工作。但是不要抱怨没有人告诉过你,如果你冒险进入这样的领域并产生bug。

我喜欢以下理由:

如果某个功能有时有用,有时危险,如果有更好的选项,则始终使用更好的选项

当C是一种年轻的编程语言时,有几个常见的编程错误没有被原始编译器捕获,因此开发了一个名为lint的辅助程序,可以扫描源文件,查找问题

随着语言的成熟,英语。。。编译器更擅长发出警告。不再需要棉绒了

JavaScript是一种年轻的语言。它最初的目的是在网页上做一些小任务。。。当项目变得复杂时,许多旨在使语言易于使用的特性都会带来麻烦。需要一个用于JavaScript的lint

IMHO下一代Linter(例如,
eslint
)采用了这一核心理念,但用可配置的选项取代了一些强有力的观点,以覆盖更广泛的受众。添加了框架插件。选项被添加到地址代码格式,而不仅仅是潜在的危险功能。人们在某些选项上存在分歧,固执己见的格式化程序找到了自己的定位(例如,
更漂亮

Typescript似乎实现了最重要的代码质量规则,作为编译器核心的一部分,而更具争议性的规则留给了决定实施一致代码风格(以提高可读性,…)的团队的外部筛选(例如,
tslint


不确定一致的代码风格在多大程度上提高了代码质量,但我有理由相信它不会降低质量,并且可能会带来巨大的好处(如果我在这个主题上找到值得信赖的研究,我会补充这个答案)。

糟糕代码的存在并不意味着应该创造更多。这听起来像是和“破窗理论”有关。请访问,看看是什么和。做一些研究,搜索相关话题等;这个问题离题了,在我看来有点奇怪。怎么会奇怪呢?我只是想问一下Linter除了编写“干净的代码”之外还有什么好处。Linter指出了潜在的问题代码。潜在问题并不意味着在特定情况下它实际上是有问题的。但一般来说,避免使用有问题的代码肯定更安全。@amouda肯定是“what”表示“why”,不是吗?所以“what”可能是:“Linting是运行一个程序的过程,该程序将分析代码中的潜在错误。”所以“why”可能是“查找开发人员遗漏的潜在错误”。可能值得注意的是——修复现有代码时应小心。例如,代码使用
myVar==null
,而linter规则要求
===
——添加一个等式确实会改变代码的含义,并可能导致以前没有的错误。您可能会发现一大块代码不一致,出于这样或那样的原因,更改所有代码可能会耗费大量人力。但这并不意味着你不应该解决这些问题。您可以将它们留待以后使用,但也可以放宽linter规则,甚至在真正需要的情况下,在代码的某一部分中关闭它们。