您如何处理大型公司的 Prettier 设置?

时间:2021-04-22 17:04:28

标签: github eslint prettier

我做了很长时间的自由职业者,直到最近我被一家更大的公司雇佣到一个大团队。

当我是一名自由职业者时,我可以使用任何我想要的 Prettier/ESLint 设置,因为我做了大部分(如果不是全部)推送到 repo。

现在我在这个团队工作,我喜欢的 Prettier/ESLint 设置在公司仓库中造成了严重破坏。

据我所知,我的新团队没有这方面的政策。

有没有办法解决这个问题?我只是在 mt 编辑器中禁用了 Prettier。

2 个答案:

答案 0 :(得分:2)

最终,只要项目选择一种风格并坚持下去,你选择什么风格都没有关系。如果您的语言社区更喜欢某一种语言,那么这是理想的;否则,一般的公司标准就可以了。理想情况下,这是使用固定工具完成的,但也可以在文档中指定。

例如,如果您使用 Rust,请使用 rustfmt,因为这是每个人都使用的。我个人并不喜欢它做出的所有样式选择,但更重要的是每个人都同意一些 标准集,这是迄今为止 Rust 中最常见的选择。在过去的工作中,即使我不喜欢这种风格,我也无情地强制执行我们公司喜欢的风格,因为它让每个人都可以更轻松地做同样的事情。

如果您的项目没有固定的工具和配置,请不要自动格式化代码。例如,Git 有样式策略,但没有经过批准的自动化工具,因此使用工具(例如 clang-format)格式化只会导致差异噪音。您可能会建议使用自动化工具和设置,但如果项目不一致,最好手动格式化。不过,您可以建议.editorconfig file,以便用户的编辑更容易做正确的事情。

答案 1 :(得分:0)

Prettier 和 ESLint 必须在项目级别配置,而不是在编辑器中。在项目根目录中,应该有 Prettier 和 ESLint 的配置文件。当 Prettier 编辑器扩展找到本地配置文件时,它会忽略其全局设置并使用该文件中的本地设置。为 Prettier 创建一个空配置文件以使用其默认推荐设置就足够了:

echo {}> .prettierrc.json

此外,团队中的每个人都应该使用这些工具的相同版本也很重要,因此请确保将版本固定在 package.json 中 - 例如"prettier": "2.2.1",而不是 "prettier": "^2.2.1"。当 Prettier 编辑器扩展找到本地安装的版本时,它会使用它而不是扩展随附的版本。最后,不要忘记 eslint-config-prettier。必须使用它,以便 Prettier 和 ESLint 不会相互冲突。