Czy istnieje coś takiego jak zbyt duża jednolitość? Tam, gdzie pracuję, mamy oczywiście standardy, w tym konwencje nazewnictwa, architektury, frameworki do wykorzystania itp. Jednak ostatnio pojawiło się wiele krytyki rzeczy, które uważałbym za bardziej stylowe.
Na przykład pisanie if
instrukcji w wielu wierszach w stosunku do jednego wiersza przy użyciu ??
operatora zerowania c # zamiast powiedzieć == null
, że odstępy między wcięciami itp.
Wydaje mi się, że zaczyna to bardziej zależeć od osobistego stylu i nie musi być jednolite w zespole lub firmie. To, co jedna osoba myśli, czyta jaśniej, inne może nie. Czy ta „dodatkowa” jednolitość ma jakąś wartość?
programming-practices
team
coding-standards
Przyjemny
źródło
źródło
Odpowiedzi:
Jednorodność nie stanowi problemu (jest dobra), ale może być sztywna lub nieelastyczna . Jeśli dążąc do jednolitości stajesz się dogmatyczny, szkoda wyrządzona zespołowi może być większa niż dobro wynikające z (być może) wynikowej jednolitości.
Najlepiej jest ustawić podstawowy styl najważniejszych rzeczy (standardy nazewnictwa i wielkich liter, wcięcia, nowe wiersze i rozmieszczenie nawiasów itp.), Ustawić zalecenia dotyczące mniej ważnych rzeczy (jeśli format instrukcji, inne białe znaki w nawiasach itp.) , a potem nie martw się o resztę.
źródło
Kiedy potencjalnie dziesiątki ludzi pracują nad projektem przez lata jego życia, czasami staje się mylące, gdy musisz skakać ze stylów. Wyobraź sobie, że czytasz książkę, w której różne rozdziały są pisane przez różnych autorów, którzy tylko w pewnym stopniu zachowują styl pisania. Jest to możliwe, ale irytujące.
Większość IDE może egzekwować style w dzisiejszych czasach, więc jeśli to konieczne, możesz rozpowszechniać (jako część kodu źródłowego projektu) plik preferencji IDE, który określa wybrany styl kodowania i każe wszystkim go zainstalować i używać go do formatowania pisanego kodu . Założę się, że istnieją nawet sposoby na przeformatowanie / nadanie stylu kodowi przy odprawie (chociaż nie musiałem tego jeszcze badać).
źródło
Jednym z przypadków nadmiernej jednolitości, jaki widziałem, jest posiadanie jednego standardu, który dotyczy wszystkich języków programowania, niezależnie od stosowności:
goto
nawet w językach takich jak C beztry
...catch
.InitialCaps
nazw (jak w Microsoft MFC i C #) w JavaScript, gdzie znajduje się standardowa bibliotekainitialLowerCase
.źródło
Nie wydaje mi się, żeby istniała zbyt duża jednolitość. Jednak często uważam, że ta specyfika jest zbyt szczegółowa. Korzyści płynące z umieszczenia nawiasów otwierających w osobnej linii są co najmniej wątpliwe i nie przeważają nad czasem spędzonym na kłótniach lub rozwiązywaniu problemów kosmetycznych w kodzie.
źródło
Miałem 2 argumenty za jednolitością:
Promowanie zbiorowej własności. Że ktoś może edytować kod innej osoby, nie obawiając się, że ta zmiana „zrani” dziecko. Rodzaj mentalności „wszyscy jesteśmy w tym razem”.
Łatwość dodawania do niego. Jeśli coś zostało już zrobione gdzie indziej, można to wziąć i ewentualnie ponownie wykorzystać. Niektóre konwencje mogą czasem ułatwić czytanie lub zmianę, więc jest to kolejna korzyść dla mojego umysłu.
źródło