Problem: dwóch programistów => trzy opinie na temat wcięć, nawiasów klamrowych na nowej linii lub nie itd.
Zwykle pracujemy z trzema lub czterema osobami nad naszymi projektami, a każda z nich ma swój własny styl kodu. Wiem, powszechnym rozwiązaniem jest uzgodnienie stylu kodu, z którego wszyscy muszą korzystać, ale nie chcę zmuszać twórczych programistów do garnituru, który im nie pasuje.
Pytanie zatem brzmi: czy istnieje sposób, aby każdy programista żył swoim własnym stylem, ale posiadając wspólną bazę kodu w repozytorium? Myślę o jakiejś wtyczce git / svn / cokolwiek, która zmienia styl między osobistym a wspólnym przy kasie i zatwierdzaniu. Wydaje mi się, że trudną częścią tego podejścia jest obsługa poprawnych różnic między wersjami pliku
źródło
Odpowiedzi:
Nie, musisz stworzyć standard. Jeśli zmienisz członka zespołu B (albo za pomocą automatycznego narzędzia IDE, albo ręcznie), cała kupa kodu członka zespołu A napisała, że zostanie on zatwierdzony i wyświetlony jako zmiana.
Jest to coś, co napotyka prawie każdy zespół, a standardy są z tego powodu „wymuszane”. Sugeruję, abyś przestrzegał standardów władz językowych jako podstawy i dostosował je do swojego zespołu.
Utrzymanie spójnego stylu kodowania pomoże również w utrzymaniu projektu i zmniejszy barierę wejścia dla nowych osób pracujących nad kodem.
źródło
Nie, musisz zdefiniować standard kodowania (najlepiej taki, który już istnieje) i poprosić programistów o jego przestrzeganie. Bycie profesjonalnym programistą oznacza, że możesz dostosować się do standardu kodowania używanego w projekcie, nad którym pracujesz.
źródło
go fmt
. Zobacz golangtutorials.blogspot.fr/2011/06/…TAK, może działać, dopóki wszystkie style są rozsądne, a ludzie nie zmieniają kodu innych ludzi, aby dopasować ich preferencje i / lub mieszać style w jednym pliku kodu.
Nie jest idealny, ale nie różni się od dziedziczenia starego kodu utworzonego według innego „standardu” niż własny i konieczności zintegrowania go z bazą kodu.
Więc jeśli musisz to zrobić, kilka wskazówek:
źródło
Krótka odpowiedź brzmi: nie.
Podczas gdy opinie powinny być cenione w pracy, szczególnie w pracy opartej na wiedzy, takiej jak Software Development, programiści muszą zdać sobie sprawę, że opinia jest właśnie taką opinią i że są po to, aby napisać oprogramowanie, które nie spiera się o to, który standard linii wcięcia jest najlepszy.
Celem dokumentu normalizacyjnego powinno być egzekwowanie / zasugerowanie zestawu wspólnych standardów / konwencji kodowania, które dotyczą
Dokumenty dotyczące standardów pomagają zapewnić, że kod jest łatwy do odczytania, utrzymania i zachowania zgodności z konwencjami.
Jest to nieocenione podczas przeglądania kodu przed meldowaniem, debugowania czyjegoś kodu lub modyfikowania kodu kilka lat po odejściu pierwotnego programisty.
Zwykle podczas tworzenia dokumentu standardów kodowania przeglądam standardy branżowe dla używanego przeze mnie języka (C, C #, SQL), stosuję najbardziej odpowiednie standardy, przesyłam komentarze do najbardziej zaawansowanych / wpływowych programistów w celu komentowania, w razie potrzeby uwzględniam komentarze, a następnie zwolnij dokument.
źródło
Teoretycznie możliwe jest automatyczne formatowanie kodu przed przypisaniem go do systemu kontroli wersji.
Jest jednak jeden duży problem: narzędzia do automatycznego formatowania kodu nie są w 100% niezawodne. W ten sposób można wprowadzić problemy w kodzie z tym systemem. Moim zdaniem to zabija pomysł. Zawsze ważniejsze jest posiadanie kodu funkcjonalnego niż kodu o poprawnym stylu!
Jeśli projekt jest podzielony na przedziały, a większość części kodu jest „własnością” poszczególnych programistów, może być w porządku pozwolić im używać ich własnych stylów (z uzasadnionego powodu). Jeśli jednak kilka osób często pracuje nad tym samym fragmentem kodu, prawdopodobnie konieczne jest wymuszenie stylu.
Oto podobna dyskusja na temat przepełnienia stosu .
źródło
Jednokierunkowe automatyczne formatowanie kodu może być praktycznym rozwiązaniem, jeśli:
W wielu przypadkach żadna z nich nie jest łatwa do zrobienia, więc rozważ wybór bitew tutaj! Widziałem zespoły robiące to z powodzeniem dla projektu C # / .NET, w którym przeformatowanie odbyło się już na komputerze programisty, więc w niektórych okolicznościach jest to możliwe.
źródło
absolutnie możesz. Chodzi o to, aby nie pocić się z tych małych rzeczy.
Jedyny standard, który ma znaczenie, to „utrzymuj zmiany w tym samym stylu co istniejący kod”. Tak długo, jak możesz dopasować się do stylu kodowania, który nie jest twoim ulubionym, możesz pracować z dowolnym stylem kodowania.
Więc o co chodzi z pracą w 3 różnych stylach w tej samej firmie. Twoi programiści muszą to zrozumieć, że pisanie kodu tak, jak im się podoba, znajduje się w ich kodzie, ale gdy wprowadzą zmiany w innym pliku, który używa innego stylu, muszą zachować ten styl (inaczej będzie wyglądać źle) . Ponowne formatowanie jest niedozwolone (lub po prostu będą się ciągle formatować, a diffs scm będą bezużyteczne) (a jeśli to zrobisz, należy zastosować formatowanie automatyczne).
Są szanse, że kiedy już to zrobią, dojdą do pewnego konsensusu co do tego, którego stylu użyć, lub będą w większości dryfować razem. Jeśli będą się z tym zachowywać dziecinnie i cały czas formatują się nawzajem, nadejdzie czas, aby pobrać standard z Internetu i zażądać jego użycia. Możesz to zrobić mimo wszystko, po prostu machając nim w twarz jako kartę „zagraj ładnie lub inaczej”.
źródło