Przyjmuję kontrowersyjną opinię i mówię „ nie”, że nie potrzebujesz standardu kodowania . Albo, jak mówisz, reguły są wytycznymi możliwymi do wyegzekwowania przez IDE, ogólnymi najlepszymi praktykami, których powinna przestrzegać każda firma w każdej firmie, lub są to indywidualne wezwania do oceny poszczególnych zespołów, które powinny być wykonywane przez więcej niż jedną osobę w zdolnym zespole poprzez programowanie par lub recenzje kodów.
Rzeczy takie jak Jak nazwać tę zmienną? Z jakich funkcji językowych powinniśmy korzystać? Czy powinniśmy unikać? Jakie testy są najlepsze? Najlepiej pozostawić je bez odpowiedzi, dopóki nie napotkamy wąsko zdefiniowanego problemu, nad którym teraz pracujemy .
Krystalizując się z tych drobnych decyzji, mogą powstać nieformalne standardy / wzorce w zespołach, oparte na skrzyżowaniu z bieżącą dziedziną problemów i wykorzystywanymi technologiami. Kodyfikacja tych oznacza, że uważamy, że takie rzeczy jak standard nazewnictwa, odpowiedni podzbiór języka itp. Stosowane w tych projektach, oparte na setkach mikro decyzji i nieformalnie przyjęte przez te zespoły, powinny kierować każdym projektem do przodu.
Zasadniczo brzmi to jak świetna rzecz, ale w rzeczywistości staje się magnesem dla polityki. Z jakich narzędzi możemy zmusić wszystkich do korzystania? Czego chcę zmusić innych ludzi do unikania? Gdyby wszyscy zgodzili się na te pytania, nie potrzebowalibyśmy standardu. Zrobilibyśmy to. Z mojego doświadczenia wynika, że standardy wynikają z chęci, aby jeden podzbiór programistów sprawował kontrolę nad innym podzbiorem. Zazwyczaj tego rodzaju polityka i technologiczne działania policyjne po prostu tłumią innowacje, a nie dostarczają wskazówek.
Jeśli chcesz prawdziwych wskazówek , zamiast czytać standardy z wieloma nieprzydatnymi zasadami, znajdź zdolnych członków swojego zespołu i zapytaj ich, co myślą. Czym zostali spaleni? Jak sugerują pisanie kodu? Otrzymasz wiele przydatnych odpowiedzi z dużą ilością cennego doświadczenia, aby je poprzeć. Zobaczysz wiele skrzyżowań opartych na wspólnych doświadczeniach. Zamiast monokultury wymuszonej przez standard, zobaczysz również wiele różnorodności, które mogą pomóc ci zobaczyć wiele prawidłowych sposobów rozwiązywania problemów.
A kiedy ktoś mówi ci, abyś nie robił czegoś z powodu reguły w „standardzie”, ale nie ma doświadczenia ani uzasadnionego uzasadnienia swojego roszczenia, zignoruj je. Tutaj standard nikomu nie służył ani nie uczynił nikogo lepszym programistą.