Zespół R&D, w którym pracuję, postanowił przyjąć standard kodowania. Dopiero niedawno utworzyliśmy i mamy za mało własnego kodu i wspólnego czasu kodowania, aby oprzeć nasz dokument standardów / konwencji na tym, co opracowaliśmy organicznie w naszym zespole, i na dobrych przykładach z własnego kodu itp.
Teraz każdy z nas ma pewne doświadczenie z przeszłych miejsc pracy - chociaż nikt z nas nie jest w stanie powiedzieć: „przyjmijmy tutaj ten obszerny dokument, który moim zdaniem jest odpowiedni do rodzaju pracy, którą tutaj wykonujemy” (*). Ponadto niektórzy z nas (w tym ja) mają doświadczenie tylko z miejsc, w których nie ma oficjalnego standardu kodowania, lub piszą w różnych językach w innym otoczeniu (wysokociśnieniowe środowisko produkcyjne wydawane co tydzień, w przeciwieństwie do prac rozwojowych zorientowanych na badania)
Tak więc jedną z opcji, o których myślałem, jest zabranie stosunkowo znanego i cenionego dokumentu, wycinanie tego, na czym nam nie zależy / dbanie, oraz wprowadzanie modyfikacji w oparciu o nasze preferencje.
Czy to powszechna praktyka? Czy uważasz, że to dobry pomysł? Jeśli tak, to jaki byłby rozsądny „podstawowy” standard kodowania (nie mów mi, co jest najlepsze, nie chcę tutaj rozpoczynać konfliktu religijnego; po prostu wskaż to, co byłoby kompleksowe lub „neutralne”, aby na nim oprzeć .)
Uwagi:
- Oczekujemy współpracy z C, C ++, OpenCL, CUDA, Python.
- Jesteśmy zespołem 4 osób + menedżer, który ma wzrosnąć do około 5-6 w ciągu roku.
- W naszej firmie zespoły są prawie całkowicie autonomiczne i zwykle w ogóle nie wchodzą w interakcje (nawet przy użyciu kodów innych użytkowników - praca dotyczy zupełnie innych projektów); więc - nie trzeba brać pod uwagę całej firmy.
- Jeśli chodzi o narzędzia, w tej chwili wiemy, że będziemy używać Eclipse , więc jego formatator kodu będzie co najmniej jednym narzędziem. Ctrl + Shift + F od dawna jest moim przyjacielem
- Pisząc Javę, przyjąłem praktykę możliwie ścisłego przestrzegania Skutecznej Javy Blocha . Nie jest to do końca standard kodowania, ale można by nazwać go cegiełkami, cementem i zaprawą. Myślałem o włączeniu czegoś takiego do „miksu” (pamiętając, że nie robimy Java).
- Mam na myśli standardy kodowania w szerszym znaczeniu tego słowa, na przykład przyjęcie propozycji przedstawionych w odpowiedzi na to pytanie P.SE .
- Znalazłem dużą listę dokumentów standardów kodowania C ++ ; może powinienem wydobyć tę naszą linię bazową.
- (*) To nie do końca prawda, ale nie chcę komplikować tego pytania zbyt wieloma szczegółami.