Ich benutze Eclipse für die Codierung, und die Sprache, die wir verwenden, ist Java. Einmal wurde von jemandem vorgeschlagen, den Code mit dem Auto-Formatierer (STRG + UMSCHALT + F) richtig zu formatieren. Dieser Befehl formatiert zwar den Code, aber manchmal habe ich das Gefühl, dass das gesamte Erscheinungsbild merkwürdig und nicht sehr lesbar ist.
Ist dies also eine empfohlene Vorgehensweise? Wenn nicht, was ist besser, um unseren Code in Eclipse zu formatieren?
eclipse
code-formatting
Ankit
quelle
quelle
Antworten:
Strenge Regeln für die Codeformatierung sind hilfreich, wenn mehrere Entwickler mit einem Versionskontrollsystem an demselben Code arbeiten. Das Zusammenführen kann schmerzhaft sein, wenn verschiedene Entwickler unterschiedliche Formatierungsregeln haben, da derselbe Code für das Zusammenführungswerkzeug unterschiedlich aussehen würde.
Eclipse (oder eine gute IDE für diesen Fall) verfügt über Code-Formatierungsregeln, die im Abschnitt Einstellungen angepasst werden können (Java> Codestil> Formatierer). Wählen Sie, was Ihnen am besten gefällt, und beachten Sie auch die Java-Standardcode-Konventionen . Viele Open Source-Projekte haben auch eigene Code-Konventionen, die mit dem Eclipse-Formatierer erzwungen werden können.
Darüber hinaus gibt es Standardtools wie CodeStyle, PMD und Findbugs, die zusätzliche Regeln durchsetzen und dabei helfen, häufige (einfache) Anti-Patterns und Fehler zu vermeiden.
quelle
Ich fand den Autoformatierer sehr nützlich. Anstatt ständig Entscheidungen darüber zu treffen, wie der Code formatiert werden soll - was fehleranfällig ist und "kognitive Reibung" verursacht - können Sie Formatierungsregeln einrichten und den Code von Eclipse formatieren lassen (im Idealfall automatisch mit "Aktionen speichern"). ). Dies setzt natürlich voraus, dass Sie über eine Codebasis mit konsistenter Formatierung verfügen oder das Mandat haben, den Code gemäß den von Ihnen festgelegten Regeln neu zu formatieren.
Die Aktivierung von "Autoformat-on-Save" entspricht in etwa einer inkrementellen Kompilierung. Dadurch kann sich Ihr Gehirn auf den Code selbst konzentrieren, anstatt sich mit trivialen Problemen wie der Codeformatierung oder der Syntax zu befassen.
Aber ja, manchmal bringt der Autoformatierer eine schön formatierte Tabelle durcheinander. In solchen Fällen verwende ich "Ein / Aus-Tags". Diese werden im Code-Formatierungsprofil auf der Registerkarte "Ein / Aus-Tags" konfiguriert. Mit ihnen können Sie Regionen in Ihrem Code von der automatischen Formatierung ausschließen:
quelle
Ob es empfohlen wird oder nicht, hängt davon ab, wen Sie fragen.
Ich kann mir vorstellen, dass Sie es vorziehen würden, Code selbst zu formatieren, schließlich wissen Sie, was für Sie am besten und am einfachsten zu lesen ist. Auf der positiven Seite, wenn Sie eine rücksichtsvolle Person sind, können Sie es auch für andere Menschen lesbarer machen.
Maschinen haben nicht diese Art von Voraussicht und können (wie Sie sagten) Ihren Code wie ein Chaos aussehen lassen, selbst wenn sie ihn nach strengen Regeln formatieren.
Eine gute IDE oder ein gutes Tool kann häufig eine halbwegs anständige Aufgabe bei der Formatierung des Codes für Sie erledigen, macht ihn jedoch nicht immer so lesbar, wie Sie könnten.
Also, mein Rat: Verwenden Sie es nur, wenn Sie Code von jemand anderem erhalten, und es ist so ein Durcheinander, dass Sie es sonst nicht lesen können.
quelle
Sie sollten es die ganze Zeit verwenden, um sicherzustellen, dass Sie in all Ihren Quelldateien ein einheitliches Styling verwenden. Dies spart Ihnen auch viel Zeit, die Sie normalerweise für die manuelle Anpassung der Formatierung aufwenden würden.
Der Java-Formatierer in Eclipse leistet gute Arbeit und ist vollständig anpassbar. Wenn Sie mit den Standardeinstellungen (die ich vollständig verstehen kann) nicht einverstanden sind, sollten Sie den Formatierer an Ihre persönlichen Stilvorlieben anpassen oder was auch immer der Standard ist, den Sie verwenden. Sie können dies in den Einstellungen unter Java / Code Style / Formatter tun.
Formatierer sind noch nützlicher, wenn Sie nicht alleine arbeiten. Es ist sehr wahrscheinlich, dass Sie und Ihre Teammitglieder sich nicht einig sind, was Ihrer Meinung nach der perfekte Code Style ™ ist. In diesem Fall sollten Sie einer gemeinsamen Basis zustimmen und ein für allemal Formatierungsregeln für dieses spezielle Code-Styling definieren. Dann kann jeder einfach die Formatverknüpfung drücken und alles passt zum vereinbarten Styling. Auf diese Weise wird Ihre persönliche Präferenz (beim Schreiben) nicht im Wege stehen. Beachten Sie, dass das Formatierungsformat in den Projektdateien von Eclipse gespeichert werden kann, sodass auch unterschiedliche Formatierungen für jedes Projekt möglich sind.
quelle
Obwohl ich es mag, wenn der Code beim Speichern automatisch formatiert wird (tatsächlich habe ich ihn für meine persönlichen Projekte aktiviert). Ich habe festgestellt, dass ich diese Vorgehensweise in Projektteams, die Eclipse-basierte Produkte verwenden, nicht vollständig empfehlen kann, da der Eclipse-Formatierer einige kritische Fehler aufweist, die mich davon abhalten, sie zu empfehlen.
Speziell wenn Sie "Code Cleanup" + "Formatierer" aktiviert haben, werden die Einrückungen bei jedem Speichern behoben / aufgehoben.
Jede neue Version von Eclipse kann das Formatierungsprogramm (zum Besseren) ändern, würde jedoch erhebliche Änderungen wie JavaDocs einführen, die den zusätzlichen Speicherplatz nach dem endgültigen Entfernen des Speicherplatzes entfernen, der
*
jedoch erst nach der Einführung von Helios und vielen Unternehmen mit der älteren Rational Software-Version von Eclipse eingeführt wurde das nutzt Helios als Basis.Der von Eclipse bereitgestellte Code-Formatierer ist nicht per API erweiterbar, da er CodeFormatter javadoc explizit angibt
Zugegeben, ich habe noch keine praktikable nichtkommerzielle Alternative gefunden. Jalopy wurde seit Jahren nicht mehr aktualisiert und die Gabeln in Github sind noch nicht so organisiert, dass ich sie nur empfehlen kann. Es gibt auch keine Update-Site für die Integration von Eclipse. Eigentlich hatte ich vor, die Code-Formatierung als Teil des Builds vorzunehmen, ähnlich wie ich es mit dem Cleanpom-Maven-Plugin mit Jalopy gemacht habe, aber diese Idee blieb auf der Strecke, da es für Jalopy keine Updates gab.
quelle