web-dev-qa-db-de.com

EditorConfig vs. Eslint vs. Prettier: Lohnt es sich, alle zu verwenden?

Ich versuche, einige Tools einzurichten, um die Konsistenz in einer Codebasis zu gewährleisten, die von mehreren Entwicklern verwendet wird. Müssen EditorConfig, ESlint und Prettier zusammen verwendet werden? Soweit ich weiß, wird EditorConfig zum Festlegen von Codierungsstilen/-regeln verwendet, ESlint wird verwendet, um sicherzustellen, dass der Code konsistent formatiert wird, indem Warnungen ausgegeben werden, wenn der Code nicht den Regeln entspricht, und hübscher, um den Code basierend auf den Regeln automatisch zu formatieren. Ich glaube jedoch, dass Sie Regeln in schöner anpassen können, was wiederum die Arbeit von EditorConfig erledigt. Ist das wahr? Was ist die beste Kombination von Tools, um konsistenten Code aufrechtzuerhalten?

28
PBandJen

Nach meiner Erfahrung ist die beste Kombination alle 3, und hier ist der Grund:

EditorConfig: Dies hilft Ihrem Editor, Code zu erstellen, der wie Ihr Styleguide aussieht. Dies ist zwar nicht unbedingt erforderlich, um Ihre Ziele zu erreichen, aber es ist schön, wenn Sie immer Code betrachten, der denselben Codierungsstilen folgt. Wenn Sie EditorConfig nicht haben, formatiert sich Ihr Editor automatisch anders als der Rest der Codebasis, was verwirrend ist. Natürlich, wenn Sie es hübscher eingerichtet haben, wird es behoben, bevor es in Ihre Codebasis aufgenommen wird, aber warum sollten Sie es sich beim Schreiben in einem Format ansehen und es dann wechseln lassen, wenn Sie gehen? begehen? Könnte auch konsequent sein.

Hübscher: Formatiert Ihren Code automatisch. Ich stelle es gerne so ein, dass ich meine Dateien für ein Commit einsetze, damit es für mich physisch unmöglich ist, Code festzuschreiben, der nicht zu meinem Styleguide passt.

ESLint: Warum möchtest du also auch eine Linter? Denn ESLint bietet mehr als nur Stil. Es wird aktiviert, wenn Sie Variablen deklarieren, die Sie nicht verwenden, oder Dinge referenzieren, die nicht definiert sind. Obwohl sich seine Rolle im Vergleich zu den Tagen zuvor etwas verringert hat, ist es dennoch nützlich, in einem Projekt die anderen Fehler abzufangen.

Ich hoffe, das hilft!

53
KevinBrownTech