Obecnie pracuję w miejscu, które mogą być patrząc na zmusza deweloperów do korzystania z automatycznego formatowania kodu kontroli wersji na check-in. Szukam dla programistów opinii na temat zalet i wad w ten sposób ... jak myślisz, że to pomoże lub utrudnić deweloperom. Mój konkretny przypadek dotyczy Java / JSP, ale myślę, że pytanie może dotyczyć dowolnego języka.
java
formatting
coding-standards
Nerdfest
źródło
źródło
Odpowiedzi:
Myślę, że to bardzo ważne, aby to zrobić. Dlatego:
Jeśli to zrobisz, polecam wszystkim sprawdzenie całego kodu, a następnie jedna osoba przeformatuje całą bazę kodu, a następnie sprawdzi to wszystko z powrotem, więc jest jeden „gigantyczny” zestaw zmian do formatowania (który każdy może zignorować), po tym, wszystkie są prawdziwe diffs dyferencjału kod.
Jeśli zrobisz to po trochu, będziesz mieszania prawdziwe zmiany kodu z zmian formatowania i rzeczy będzie się niepotrzebnie Messy w zmianie ziemi.
źródło
Zamierzam wrzucić własną odpowiedź tutaj jako ludzie wydają się być jedynie dodanie zalety. Wady, które postrzegam jako:
Mówiąc najprościej, non-zautomatyzowany zbiór konwencji ustanawia minimalne wymagania styl / czytelności, gdzie zautomatyzowane konwencje ustawić minimalny i maksymalny.
Pamiętam, że patrząc na VB (w wersji 5 może) i znalezienie jeden z najbardziej irytujących rzeczy o nim, że to będzie przymusowo sformatować mojego kodu i usunąć rzeczy wykraczające poza swoim podstawowym formatowaniem.
źródło
Uważam, że wymuszone formatowanie kodu jest świetne. Pozwala deweloper przemierzać cały korpus kodu bez konieczności ich oczy odbijają wszędzie. Posiadanie tego standardu pomaga początkującym programistom przełamać złe nawyki.
źródło
Podstawowa wada traci niestandardowe formatowanie gdzie tak naprawdę się liczy.
Wyobraźmy sobie typową testow jeśli (), która zakończy się niepowodzeniem, jeśli którykolwiek z warunków określonych jest obecny, ale nie spełnił ...
Jest to czytelne dzięki rozsądnej Wcięcia następujące struktury logicznej warunków.
Teraz twój zautomatyzowane narzędzie ma pojęcia o logicznej separacji różnych warunkach na linie pokrewnych. Nie widzi powodu, dla którego każda kępa 3-4 warunki w jednej linii i podzielić następny stan na pół. Albo będzie to porównanie, jeden wyraz na linię podziału. Może nawet ładniej wyglądać na ekranie, ale logika zostaną utracone.
źródło
Dodałem odpowiedź z wadami i dorzucę co uważam za wielką zaletę, jak również.
Podczas korzystania z automatycznego kodu formatowanie na popełnić, to jednak w rzeczywistości otwiera możliwość osobistych preferencji bez wahania zwykłym efektem mający swoje preferencje zadane na innych. Możesz mieć swój kod formatu IDE do wspólnej normy dotyczącej popełnienia, ale wyświetla je do Ciebie w preferowanym formacie bez wpływu na innych.
To jest dla mnie niemal Święty Graal konwencji opiera się kodowanie ... masz w sobie zalety wspólnego formatu kodu, ale nadal pozwalają preferencje osobiste mają być obsługiwane bez konfliktów.
źródło
To zależy od Twoich potrzeb, ale niektóre contraints są bardzo pomocne, jeśli na przykład każdy () powinny być przestrzegane przez klamrami, ponieważ jest to dość łatwe do uzyskania takiej czy źle, jeśli jesteś refaktoryzacji.
Rozważ ten przypadek:
Jeśli chcesz teraz dodać rejestrowanie w przypadku if, możesz przypadkowo napisać:
I nagle twoja metoda zawsze powraca
foo
.Edycja: nie dotyczy to automatycznego formatowania, ale raczej sprawdzania stylu. Przepraszam, jeśli ta odpowiedź również była nie na temat. :)
źródło
To znacznie ułatwia jednolite kod w firmie, a dzięki temu na ogół wytwarzają bardziej zrozumiałe i łatwiejsze w utrzymaniu sposób strukturę produktu.
źródło
Cóż, zalety są takie same jak każdy kod formater, jak standaryzacji kodu, semantyczny między deweloperami, itp Jedyne ewentualne wady widzę to brak ludzkiego oka po formatowanie, aby dodać pewnymi wyjątkami, itd.
Więc Domyślam się, że lepiej rozważyć formatator IDE zamiast formatera czasu zameldowania.
źródło
Z mojego doświadczenia wynika, że jest to dobra rzecz. Bez niego, kod porównuje często wykazują bałagan białe znaki formatowania i może ukryć rzeczywiste zmiany kodu. Z mojego doświadczenia wynika, brudząc z czyjegoś formatowanie nie jest grzechem jest robione się, szczególnie z potencjalnych korzyści spójności całej drużyny.
źródło