快捷搜索:  汽车  科技

github代码可以在线编辑调试:代码风格不统一

github代码可以在线编辑调试:代码风格不统一那么重点来了,怎么统一代码风格?怎么搞定那群 Tab/Space 党让他们的代码和谐共存?不仅如此,对于代码版本管理系统(svn 和 git 或者其他),代码格式不一致带来的问题更是十分严重,代码一致却格式不同触发版本管理系统标记为 diff 会导致无法检查代码和校验。分号时隐时现扑朔迷离,Tab Space 交相呼应琴瑟和鸣,两个四个空格处处空格相映成趣,好一派“百家争鸣”的自由和谐!光是缩进这一件事就能够产生如此大的分歧, 那项目开发代码无数行,不同的代码风格,就为之后审核代码,带来了巨大的工作量。在团队整体项目开发过程中,维护代码的时间远远大于新功能开发,成员变更更是导致很多程序深陷“填坑”旋涡。因此编写符合团队编码规范的代码是至关重要的,这样做不仅可以很大程度地避免基本语法错误,也保证了代码的可读性。

对程序员来说,熬得秃顶也无法解决的四大难题是:

  • 1. 世界上最好的语言是什么?
  • 2. 世界上最好的编辑器是什么?
  • 3. 用 Tab 好还是 Space 好?
  • 4. 到底要不要写分号?

github代码可以在线编辑调试:代码风格不统一(1)

而世界上有两种程序员:一种用 Tab 键,另一种用 Space 键。

“Tab vs Space”是业界旷日持久的圣战,事关程序员的信仰!

每一名程序员都有权利将自己的代码赋予标签与个性,毫不夸张的说,如果团队没有统一代码风格,那么这个团队有多少名成员就有多少种代码风格。

分号时隐时现扑朔迷离,Tab Space 交相呼应琴瑟和鸣,两个四个空格处处空格相映成趣,好一派“百家争鸣”的自由和谐!

github代码可以在线编辑调试:代码风格不统一(2)

光是缩进这一件事就能够产生如此大的分歧, 那项目开发代码无数行,不同的代码风格,就为之后审核代码,带来了巨大的工作量。

在团队整体项目开发过程中,维护代码的时间远远大于新功能开发,成员变更更是导致很多程序深陷“填坑”旋涡。因此编写符合团队编码规范的代码是至关重要的,这样做不仅可以很大程度地避免基本语法错误,也保证了代码的可读性。

不仅如此,对于代码版本管理系统(svn 和 git 或者其他),代码格式不一致带来的问题更是十分严重,代码一致却格式不同触发版本管理系统标记为 diff 会导致无法检查代码和校验。

那么重点来了,怎么统一代码风格?怎么搞定那群 Tab/Space 党让他们的代码和谐共存?

此时小编挖出了 GitHub 29.6k 星代码格式化神器---Prettier

github代码可以在线编辑调试:代码风格不统一(3)

就像它的名字一样,有了它,你的代码肯定“更美”!就是完全统一完全一致的那种美!完美拯救“强迫症”!

Prettier 主要是为了格式化代码,作为一个有态度的代码格式化工具,支持多种语言,集成大多数编辑器,使用 Prettier 只需要保存文件代码就会被整理格式,再也不用在代码复查的时候争论风格这一“百家争鸣”的话题了,节约的时间和精力。

github代码可以在线编辑调试:代码风格不统一(4)

当你意识到再也不用自己手动去调整代码风格时,有没觉得很幸福?

而在没有 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" "burger" "pasta"];

此处率先声明,ESlint 是主要还是负责代码规则校验,Prettier 只调整代码风格代码样式,ESlint 才是真正检查代码是否符合规范的工具。

所以,如果让 Prettier 结合 ESlint 或 EditorConfig 等会有意想不到的奇效哦!

GitHub地址:https://github.com/prettier/prettier

最后,小编用“Tab”,你用啥?

猜您喜欢: