996.icu

工具和资料

前言

不好意思,强迫症说的就是本人了。
从java转到node的,把一些java的编码风格也带来了,两种语言不一样的地方就自己定一个,然鹅经常被IDE的格式化功能、Lint工具啥的各种嫌弃,强迫症忍不了,给我个标准,以后都依你!

环境配置

  • VSCode里安装StandardJS和ESLint两个插件
  • 另外还得npm全局安装standard这个模块,cnpm install standard -g
  • 重启VSCode,然后插件就生效了;只要不符合标准风格的代码,VSCode都会用红色波浪线标出来

以下是插件正常加载后在输出窗口的输出信息
图片描述

缩进

标准风格里对缩进的要求是不用制表符,而是用两个空格缩进,在VSCode里没找到可以整体配置源码风格的地方,毕竟只是个轻量级的编辑器,要求不能过高了。
有两个方法切换js文件的缩进策略:

  • 修改单个文件的缩进设置:点击VSCode窗口最下面一行状态栏右面“制表符长度”,然后选择空格缩进,然后再选择长度2即可。图片描述
  • 修改所有js文件的默认缩进策略,方法如下:

    1. 按F1或Ctrl+Shift+P打开命令面板
    2. 输入关键字“语言特定”,打开“首选项:配置语言特定的设置...” 图片描述
    3. 选择JavaScript,这会打开settings.json,找到"[javascript]"配置项,如果没有则添加一个,并添加两个属性如下:
      {
        ...
        "[javascript]": {
          "editor.insertSpaces": true,
          "editor.tabSize": 2
        },
        ...
      }

另外说下,VSCode里代码格式化的快捷键是Alt+Shift+F

关于分号

标准风格里是不用结尾分号的,然而js里如果一行由[, (, `等字符开始,就有可能出现解析歧义,比如以下几种情况:

[1, 2, 3].forEach(...)  // 数组字面量
`hello`.indexOf('o')
(function () { ... }()) // IIFE(自调用匿名函数)
[a, b] = [3, 4] // 解构赋值

这种情况官方的建议是在行首加分号。

java码农需要适应的其它习惯

  • 不用分号
  • 两个空格缩进
  • 字符串用单引号,除非字符串里有需要转义的单引号
  • 方法名和左括号之间须加空格
  • 始终用'==='代替'=='
  • 不允许连续多行空行
  • yield * 中的 * 前后都要有空格

rockswang
1.4k 声望154 粉丝

To play is Human