Używam Eclipse do kodowania, a używanym przez nas językiem jest Java. Kiedyś ktoś zasugerował, aby poprawnie sformatować kod, używając automatycznego formatatora (CTRL + SHIFT + F) Podczas gdy to polecenie formatuje kod, ale czasami wydaje mi się, że ogólny wygląd staje się dziwny i nie jest zbyt czytelny.
Czy to jest zalecane? Jeśli nie, co lepiej sformatować nasz kod w środowisku Eclipse?
eclipse
code-formatting
Ankit
źródło
źródło
Odpowiedzi:
Ścisłe reguły formatowania kodu są przydatne, gdy kilku programistów pracuje nad tym samym kodem za pomocą systemu kontroli wersji. Scalanie może być uciążliwe, jeśli różni programiści mają różne reguły formatowania, ponieważ ten sam kod wyglądałby inaczej w przypadku narzędzia do scalania.
Zaćmienie (lub inne dobre IDE w tym zakresie) ma reguły formatowania kodu, które można dostosować w sekcji preferencji (Java> Styl kodu> Formatyzator). Wybierz to, co lubisz najbardziej, ale zapoznaj się również ze standardowymi konwencjami kodu Java . Wiele projektów open source ma również własne konwencje kodu, które można egzekwować za pomocą formatyzatora Eclipse.
Ponadto istnieją standardowe narzędzia, takie jak CodeStyle, PMD i Findbugs, które egzekwują dodatkowe reguły i pomagają unikać typowych (niskopoziomowych) anty-wzorów i błędów.
źródło
Uważam, że autoformatter jest bardzo przydatny. Zamiast ciągle podejmować mikrodecyzje dotyczące sposobu formatowania kodu - co jest podatne na błędy i powoduje „tarcie poznawcze” - możesz skonfigurować reguły formatowania i pozwolić Eclipse sformatować kod za ciebie (najlepiej automatycznie, używając „Zapisz akcje” ). Oczywiście wymaga to posiadania bazy kodu ze spójnym formatowaniem lub upoważnienia do sformatowania kodu zgodnie z ustawionymi regułami.
Włączenie „automatycznego formatowania przy zapisywaniu” przypomina trochę kompilację przyrostową, pozwala mózgowi skupić się na samym kodzie, zamiast zajmować się trywialnymi kwestiami, takimi jak formatowanie lub składnia kodu.
Ale tak, czasami autoformatter zepsuje jakąś ładnie sformatowaną tabelę, którą masz. W takich przypadkach używam „tagów on / off”. Są one konfigurowane w zakładce „tagi on / off” w profilu formatowania kodu. Za ich pomocą możesz wykluczyć regiony w kodzie z automatycznego formatowania:
źródło
To, czy jest to zalecane, zależy od tego, kogo zapytasz.
Mogę sobie wyobrazić, że wolisz sam sformatować kod, w końcu wiesz, co jest dla ciebie najlepsze i najłatwiejsze do odczytania. Na plus, jeśli jesteś osobą troskliwą, możesz uczynić ją bardziej czytelną także dla innych ludzi.
Maszyny nie mają takiego przewidywania i mogą (tak jak powiedziałeś) sprawić, że Twój kod wygląda na trochę bałaganu, nawet jeśli sformatują go według ścisłych reguł.
Dobre IDE lub narzędzie często może wykonać przyzwoitą robotę przy formatowaniu kodu, ale nie zawsze sprawi, że będzie tak czytelny, jak to tylko możliwe.
Moja rada: nie używaj go, chyba że otrzymasz kod od kogoś innego, a jest to taki bałagan, że nie możesz go odczytać inaczej.
źródło
Powinieneś używać go cały czas, aby zapewnić spójne stylizowanie wszystkich plików źródłowych. Zaoszczędzi to również dużo czasu, który zwykle spędziłbyś na ręcznym dostosowywaniu formatowania.
Formater Java w Eclipse wykonuje całkiem niezłą robotę i można go całkowicie dostosować. Jeśli nie zgadzasz się z ustawieniami domyślnymi (które mogę całkowicie zrozumieć), powinieneś dostosować formatyzator do własnych preferencji stylistycznych lub jakiegokolwiek innego standardu, którego używasz. Możesz to zrobić w ustawieniach Java / Code Style / Formatter.
Formaterery są jeszcze bardziej przydatne, gdy nie pracujesz sam. Jest bardzo prawdopodobne, że ty i członkowie twojego zespołu nie zgodzicie się co do tego, co uważasz za idealny styl kodu ™. W takim przypadku powinieneś zgodzić się na wspólną bazę i raz na zawsze zdefiniować reguły formatyzatora dla tego konkretnego stylu kodu. Następnie każdy może po prostu nacisnąć skrót formatu i wszystko pasuje do uzgodnionego stylu. W ten sposób twoje osobiste preferencje (podczas pisania) nie będą przeszkadzać. I zauważ, że styl formatera może być przechowywany w plikach projektu Eclipse, więc możliwe są także różne formaterery dla każdego projektu.
źródło
Chociaż lubię automatyczne formatowanie kodu przy zapisywaniu (w rzeczywistości włączyłem go w moich osobistych projektach). Odkryłem, że nie mogę w pełni polecić tej praktyki zespołom projektowym używającym produktów opartych na Eclipse, ponieważ formatyzator Eclipse zawiera kilka krytycznych błędów, które uniemożliwiają mi jej zalecenie.
W szczególności, jeśli masz włączoną funkcję „czyszczenia kodu” + „formatyzatora”, wcięcia są naprawiane / usuwane przy każdym zapisie.
Każda nowa wersja Eclipse może zmienić formatyzator (na lepsze), ale wprowadziłaby znaczące zmiany, takie jak JavaDocs, ostatecznie usuwając tę dodatkową przestrzeń po
*
, ale wprowadzoną jakiś czas po Helios i wiele przedsiębiorstw korzysta ze starszej wersji Eclipse Rational Software który wykorzystuje Helios jako bazę.Formatator kodu dostarczany przez Eclipse nie jest rozszerzalny dla ich API, w rzeczywistości wyraźnie stwierdza CodeFormatter javadoc
To prawda, że jak dotąd nie znalazłem żadnej realnej niekomercyjnej alternatywy. Jalopy nie jest aktualizowana od lat, a widelce w githubie nie są jeszcze zorganizowane, aby polecić którekolwiek z nich. Nie ma też żadnej strony z aktualizacjami dla Eclipse, aby ją zintegrować. Właściwie planowałem, aby formatowanie kodu było częścią kompilacji, podobnie jak zrobiłem plugin cleanpom-maven przy użyciu Jalopy, ale ten pomysł został odrzucony z powodu braku aktualizacji Jalopy.
źródło