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

花十分钟的时间武装你的代码库

当我们的代码库有很多人维护时,经常会出现代码风格不一致或者代码质量不过关,提交信息杂乱的情况,当然啦,即使是一个人的代码库,有的时候,自己写代码时不太注意细节,也会出现风格不一致的情况。...,在一个代码库中,经常出现2个空格/4个空格混用,有些地方写 ;,有些不写 ;,风格不统一。...': 1, //禁止不必要的分号 'no-func-assign': 2, //禁止对 function 声明重新赋值 'no-inner-declarations': 0, //禁止在嵌套的块中出现变量声明或...function 声明,ES6中无需禁止 'no-invalid-regexp': 2, //禁止 RegExp 构造函数中存在无效的正则表达式字符串 'no-irregular-whitespace...//禁止在 finally 语句块中出现控制流语句 'no-unsafe-negation': 1, //禁止对关系运算符的左操作数使用否定操作符 'use-isnan': 2, //要求使用

2.6K30

Eslint使用入门指南

但是由于javascript的动态弱类型语言特性,导致在开发中如果不加以约束会容易出错,也正是因为这种特性导致当程序出现错误的时候,我们需要花费更多的时间在执行的过程中不断去调试,Eslint的出现就是为了让开发人员可以在开发的过程中就发现错误而非在执行过程中...2 no-control-regex 正则表达式中不允许出现控制字符 2 no-debugger 不允许出现debugger语句 2 no-dupe-args 函数定义的时候不允许出现重复的参数...no-extra-parens 不允许出现不必要的圆括号 0 no-extra-semi 不允许出现不必要的分号 2 no-func-assign 不允许重新分配函数声明 2 no-inner-declarations...[2, "both"] max-depth 嵌套块深度 0 max-len 一行最大长度,单位为字符 0 max-params 函数最多能有多少个参数 0 max-statements 函数内最多有几个声明...{ root: true, } 参考:ESLint配置文件.eslintrc参数说明 如何配置 ESLint 支持 3 种配置方式: 命令行:不推荐,不做介绍; 单文件内注释:不推荐,不做介绍;

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

    前端代码规范(es6,eslint,vue)

    为了获得更准确的错误报告,每条声明都应该独占一行。 所有声明语句都应当以分号结尾。最后一条声明语句后面的分号是可选的,但是,如果省略这个分号,你的代码可能更易出错。...// ✓ ok 44.catch 中不要对错误重新赋值。...声明函数或类方法 /** * 方法说明 * @method 方法名 * @for 所属类名 * @param {参数类型} 参数名 参数说明 * @return {返回值类型} 返回值说明 */ 没有指定...如果为负数,则从集合的最后一个元素开始倒数 * @return {Element} 指定元素 */ - @param。声明函数参数,必须与@method搭配使用。...- 当参数出现以下情况时,使用对应的格式:[参数名] - 参数有默认值 [参数名 = 默认值] 3.4 @property。

    6K30

    ESLint 介绍

    减少错误, 如:相等比较必须用 === ,变量在使用前必须被声明,在条件语句中不能使用赋值语句等。 提高代码质量,如:函数最多有多少条件分支;最多有几个参数,代码块最多能嵌套多少层等。 其他。...如: 禁用 alert。这可以提高用户体验,因为 alert 框的外观不是那么好看,而且往往与网站的风格不搭,一般都会自定义 alert 框。...默认情况下,如果不设置检查的规则,ESLint 不会检查任何规则。 更详细的说明见官网的说明。...no-undef: 变量和函数在使用前必须先声明。全局变量或函数除外。 no-unused-vars:变量定义后会一定要被使用。...系统的弹出框比较丑,一般都用自定义的弹出框。 max-params: 函数最多有几个参数。默认是3个。 max-statements: 函数最多有多少条语句。

    2.1K40

    以淘宝店铺为例,谈谈 TypeScript ESLint 规则集考量

    为什么:逻辑或 || 会将 0 与 "" 视为 false 而导致错误的应用默认值,而可选链相比于逻辑与 && 则能够带来更简洁的语法(尤其是在属性访问嵌套多层,或值来自于一个函数时,如 document.querySelector...,TypeScript 的控制流分析能很好地做到这一点,而对于函数参数与类属性,主要是为了确保一致性,即函数的所有参数(包括重载的各个声明)、类的所有属性都有类型标注,而不是仅为没有初始值的参数/属性进行标注...为什么:先说我是怎么做得:在绝大部分场景下,使用 interface 来声明对象类型,type 应当用于声明联合类型、函数类型、工具类型等,如: interface IFoo {} type Partial...)而非协变(covariance)的方式进行函数参数的检查,关于协变与逆变我后续会单独的写一篇文章,这里暂时不做展开,如果你有兴趣,可以阅读 TypeScript 类型中的逆变协变。...如联合类型变量中每一条类型分支可能都需要特殊的处理逻辑。

    2.7K30

    前端定期小复盘, 每期都有小收获(一)

    项目规范, 发现 tsx 代码被 eslint 检测报了3个错误: Expected property shorthand image.png 这个报错的场景如下: import { tree }...公共组件库发布npm之后对于不同react版本出现报错 这个问题主要是在我前一阵子开源的滑动验证组件 react-slider-vertify 中暴露出来的, 当时也是第一时间找到了问题的答案: 是因为同一个工程里存在两个...即编译后不会生成任何js文件 "noEmitOnError": true, // 发送错误时不输出任何文件 "noEmitHelpers": true, // 不生成helper函数,减小体积...null、undefined赋值给其他类型的变量 "strictFunctionTypes": true, // 不允许函数参数双向协变 "strictPropertyInitialization...": true, // 检查未使用的函数参数(只提示不报错) "noFallthroughCasesInSwitch": true, // 防止switch语句贯穿(即如果没有break语句后面不会执行

    53810

    一统江湖的大前端(5)editorconfig + eslint——你的代码里藏着你的优雅

    三.editorconfig + eslint 废话不(再)多说,直接呈上低配版解决方案: editorconfig 格式统一配置工具 跨浏览器广泛支持(常见如IDEA,WebStorm,Sublime...使用方法 eslint的Rules规则集包含近200条javascript编码规则,可以帮助我们检查编程中的语法错误,以及对一些指定的最佳实践进行限制,减少整个工程中的奇葩代码片段和各种奇技淫巧,为开发者提供...2.锦囊B——sublime代码片段 代码编写或搬运过程中,诸如函数声明或条件分支或循环语句等是最容易出现缩进问题的,而顺序结构的代码几乎不会出现缩进问题。...if + Tab 生成if条件判断语句的代码结构 for + Tab 生成正向循环或反向循环代码结构 fun + Tab 生成函数声明代码结构 其他自定义代码片段 可自定义快捷键及代码片段,并指定若干可配置的焦点...代码框架生成后,每多按一次Tab键,就会聚焦到下一个焦点,比如输入fun,然后按Tab键,第一焦点在函数名处,再按Tab键,第二焦点在参数列表处,再按Tab,第三焦点在函数体处,完全不用自己考虑缩进等问题

    1.2K30

    Typescript真香秘笈

    搭配编辑器的智能提示,体验可谓舒适,妈妈再也不用担心我拼错字段名了。 缺乏类型检查,低级错误出现几率高。 人的专注力很难一直都保持高度在线状态,如果没有类型检查,很容易出现一些低级错误。...这些看起来很低级的错误,虽然大多数情况下在自测或者测试阶段,都能被验出来,但是总会浪费你的一些时间去debug。...如果给变量赋予与其声明类型不兼容的值,就会有报错提示。 例如: Array 数组类型 在typescript中,有两种声明数组类型的方式。...Typescript进阶篇 5.1 函数 函数类型: 函数类型主要声明的是参数和返回值的类型。...泛型约束 有时编译器不能确定泛型里面有什么属性,就会出现报错的情况。

    5.7K20

    「前端架构」Grab的前端学习指南

    在大多数情况下,React组件由支柱(外部参数)和状态(内部数据)定义。对于相同的道具和状态,会产生相同的视图。纯函数易于测试,功能组件也是如此。...在声明式编程中工作得很好——存储可以向视图发送更新,而不需要指定如何在状态之间转换视图。 由于Flux本身不是一个框架,开发人员已经尝试了很多Flux模式的实现。...在大多数情况下,使用ESLint就像调整项目文件夹中的配置文件一样简单。如果您不为ESLint编写新的规则,那么就没有什么可学习的。当错误出现时,请注意它们,并将其谷歌,以找到推荐的样式。...没什么可学的。添加ESLint到您的项目,并修复linting错误!...如果库作者尊重semver,而工程师假设API契约一直受到尊重,就不会出现这种情况。 纱线解决了这些问题。通过纱线安装包的不确定性问题。

    7.5K20

    从 ESLint 开始,说透我如何在团队项目中基于 Vue 做代码校验

    如何在 VSCode 中通过插件来协助代码校验工作; 如何保证 push 到远程仓库的代码是符合规范的; 下面开始阅读吧,如果你对 ESLint 比较熟悉,可以直接跳过这个部分。...在 Vue 项目中的实践 上面把 ESLint 的几乎所有的配置参数和校验方式都详细的介绍了一遍,但是如果想在项目中落地,仅仅靠上面的知识还是不够的。下面将细说如何在 Vue 中落地代码校验。...关于如何在 Vue 中落地代码校验,一般是有 2 种情况: 通过 vue-cli 初始化项目的时候已经选择了对应的校验配置 对于一个空的 Vue 项目,想接入代码校验 其实这 2 种情况最终的校验的核心配置都是一样的...默认的,WARNING 将不会导致编译失败; false:不开启保存校验; error:开启保存校验,会将 errors 级别的错误在终端中以 ERROR 的形式出现,会导致编译失败,同时浏览器页面变黑...// 把 > 符号放在多行的 JSX 元素的最后一行 arrowParens: 'avoid', // 当箭头函数中只有一个参数的时候可以忽略括弧 vueIndentScriptAndStyle

    2.4K20

    前端JS规范

    : prefer-const, no-const-assign 原因:这样做可以确保你无法重新分配引用,以避免出现错误和难以理解的代码 // bad var a = 1 var b = 2 // good...,eslint: func-style 原因:这样做会导致函数声明被提升,这意味着很容易在文件中定义此函数之前引用它,不利于可读性和可维护性。...别忘记要显式命名表达式,而不用管名字是否是从包含的变量(通常出现在现代浏览器中或者使用 Babel 编译器的时候)中推断的。这样会消除错误调用堆栈中的任何假设。...,则省略圆括号,否则为了清晰明确则使用圆括号包裹参数,注意:总是使用圆括号也是可以接受的,eslint 中的 “always” 选项,eslint: arrow-parens // bad [1, 2,...,eslint: no-unused-vars 原因:声明但未被使用的变量通常是不完全重构犯下的错误.这种变量在代码里浪费空间并会给读者造成困扰 // bad var some_unused_var =

    5.3K10

    如何在2016年成为一个更好的Node.js开发者

    但是随着生成器函数的正式标准化,并且异步函数也即将到来,因此我们现在建议你在编写模块的接口时应该暴露支持Promise的的错误优先的回调函数。 为什么需要这样?...程序员错误就是我们所说的bug,由于你不知道程序运行的确切状态因此当出现错误时你最好立刻停止应用的运行(crash the process)。...在回调中进行错误处理 如果一个错误发生在异步操作的过程中,错误对象应该作为异步函数的第一个参数进行传递。你必须始终要检查该错误对象并进行错误处理。...在前面的有关回调约定的例子里面已经展示了如何在回调函数中进行错误的优先处理。 在Promise中进行错误处理 如果是下面的代码片段会发生什么情况?...12-Factor应用宣言描述了进行Web应用开发的最佳实践: 基准代码:一份基准代码,多份部署 依赖:显示声明依赖 配置:在环境中存储配置 后端服务:把后端服务当作附加资源 构建、发布、运行:严格分离构建和运行

    70170

    JavaScript 权威指南第七版(GPT 重译)(七)

    任何出现在 JavaScript 文件名之后的参数(如--arg1和filename)将出现在process.argv中。 Node 程序也可以从类 Unix 环境变量中获取输入。...将错误参数放在第一位的原因是为了让你无法忽略它,你应该始终检查这个参数中是否有非空值。如果它是一个错误对象,甚至是一个整数错误代码或字符串错误消息,那么出现了问题。...对于基于回调的fs.copyFile(),最后一个参数是在复制完成时不带参数调用的回调函数,或者如果出现错误则带有错误参数调用。...默认情况下,在工作线程中,process.stdin 流永远没有可读数据。你可以通过在 Worker() 构造函数的第二个参数中传递 stdin: true 来更改此默认行为。...在这种情况下,null不是合法值。 到目前为止,我们已经讨论了原始类型string、number、boolean、null和void,并演示了如何在变量声明、函数参数和函数返回值中使用它们。

    50010

    JavaScript生态加速攻略:eslint

    它循环遍历从我们在此时进行代码检查的文件内容中解析出的标记流。标记是编程语言的最小构建块,可以将它们视为语言的“单词”。...不过,更改这一点需要进行更深入的重构,这对于本博客文章来说太多了。鉴于这不是一个容易的修复,我检查了一下在性能分析中还有哪些值得关注的地方。...通过他的额外更改,我们能够使整个选择器代码相对于原始未修改状态快约5倍。他基本上是通过消除 matches() 函数中的一堆开销来实现的,这使他也能够简化几个相关的辅助函数。...即使在花费大量时间提高 esquery 的速度之后,它仍然无法接近 JavaScript 变体。在选择器不匹配且引擎可以提前退出的情况下,它仍然比普通函数慢 30 倍。...有一个区域暗示了将TypeScript的格式转换为eslint所理解的格式需要消耗相当多的时间。配置加载方面也出现了一些奇怪的情况,因为它实际上不应该占用这么多时间。

    67320

    如何规范开发一个vue项目

    在接下来的内容中,我们将深入探讨编程规范的意义、作用以及如何在实际项目中应用它们。希望这些内容能够为您的编程之旅提供有益的指导和帮助。...减少错误: 遵循编程规范可以减少常见的编程错误,如拼写错误、语法错误和逻辑错误。 通过强制使用特定的命名约定和格式,可以减少因误解或混淆而导致的错误。...三、代码检测Eslint工具深入解析 ESLint是一个强大的JavaScript代码检测工具,它可以帮助开发者识别和修复代码中的错误,同时确保代码风格的一致性。...代码审查有助于发现潜在的问题和bug,并提供有价值的反馈和建议 处理合并冲突 在团队协作中,合并冲突是常见的情况。 当你的更改与他人的更改冲突时,需要手动解决冲突并重新提交代码。...它允许你只对 Git 暂存区中的更改运行 linting 和可能的自动修复,而不是对整个项目运行。这对于保持代码库清洁和一致非常有用。

    17510

    前端代码乱糟糟?是时候引入代码质量检查工具了

    为了统一团队的代码规范,除了一纸规范说明之外,还需要引入工具进行限制。虽说工具并不能完全实现规范中的规则,但至少能够在一定程度上缓解代码不统一的局面。.../ 禁止在 if 代码块内出现函数声明 // @off 在for循环中会经常使用定义var for(var i = 0; i < 10; ++i) 'no-inner-declarations...': ['warn', 5], // 循环内的函数中不能出现循环体条件语句中定义的变量 // @warn 警示即可 'no-loop-func': 'warn...ESLint 和 StyleLint 工具提供了自动修复功能,可以修复简单的错误如少了分号,多了空格,缩进不正确等 但要注意的是,自动修复某些时候可能会使代码发生逻辑或语法错误,需谨慎使用(自动修复后一定一定一定记得比对代码...在webpack中的配置 参考我的webpack项目配置DEMO, 在 webpack.config.js 中传入相应的参数 ? 正式使用时autoFix会按需设置,建议修复。

    2.7K10
    领券