对程序员来说,熬得秃顶也无法解决的四大难题是:
- 1. 世界上最好的语言是什么?
- 2. 世界上最好的编辑器是什么?
- 3. 用 Tab 好还是 Space 好?
- 4. 到底要不要写分号?
而世界上有两种程序员:一种用 Tab 键,另一种用 Space 键。
“Tab vs Space”是业界旷日持久的圣战,事关程序员的信仰!
每一名程序员都有权利将自己的代码赋予标签与个性,毫不夸张的说,如果团队没有统一代码风格,那么这个团队有多少名成员就有多少种代码风格。
分号时隐时现扑朔迷离,Tab Space 交相呼应琴瑟和鸣,两个四个空格处处空格相映成趣,好一派“百家争鸣”的自由和谐!
光是缩进这一件事就能够产生如此大的分歧, 那项目开发代码无数行,不同的代码风格,就为之后审核代码,带来了巨大的工作量。
在团队整体项目开发过程中,维护代码的时间远远大于新功能开发,成员变更更是导致很多程序深陷“填坑”旋涡。因此编写符合团队编码规范的代码是至关重要的,这样做不仅可以很大程度地避免基本语法错误,也保证了代码的可读性。
不仅如此,对于代码版本管理系统(svn 和 git 或者其他),代码格式不一致带来的问题更是十分严重,代码一致却格式不同触发版本管理系统标记为 diff 会导致无法检查代码和校验。
那么重点来了,怎么统一代码风格?怎么搞定那群 Tab/Space 党让他们的代码和谐共存?
此时小编挖出了 GitHub 29.6k 星代码格式化神器---Prettier
就像它的名字一样,有了它,你的代码肯定“更美”!就是完全统一完全一致的那种美!完美拯救“强迫症”!
Prettier 主要是为了格式化代码,作为一个有态度的代码格式化工具,支持多种语言,集成大多数编辑器,使用 Prettier 只需要保存文件代码就会被整理格式,再也不用在代码复查的时候争论风格这一“百家争鸣”的话题了,节约的时间和精力。
当你意识到再也不用自己手动去调整代码风格时,有没觉得很幸福?
而在没有 Prettier 之前,是用 ESlint-fix 和编辑器自带代码格式来进行代码格式化的。但是每种编辑器会有不一样的代码格式,而且配置会比较麻烦。Prettier 已经逐渐成为业界主流的代码风格格式化工具,使用 Prettier 可以减轻 ESlint 等工具的校验规则,因为将代码样式校验交给了 Prettier,所以可以将代码校验的规则更准确地应用到代码真正的规范上面。
举个例子,输入代码是这样的:
if (food === 'pizza'){ alert('Pizza ;-)'); }else{ alert('Not pizza ;-(');}function foo(items) { return items .filter(item => item.checked) .map(item => item.value) ;}const food = [ 'pizza', 'burger', 'pasta',]
Prettier 处理之后的代码是这样的:
if (food === "pizza") { alert("Pizza ;-)");} else { alert("Not pizza ;-(");}function foo(items) { return items.filter(item => item.checked).map(item => item.value);}const food = ["pizza