Ważne : nie mamy żadnych problemów z dokumentacją kodu źródłowego . Należy to do regularnego audytu kodu i jest na bieżąco aktualizowane. Nasz problem dotyczy dokumentacji programistów (lub „zewnętrznych”, jeśli chcesz), małych blogowych wskazówek od programistów do programistów, które zwykle są pisane, często pozostawione.
Używamy systemu typu wiki do tworzenia dokumentacji dla programistów - artykułów napisanych przez programistów dla programistów opisujących nieco więcej szczegółów, jak działa dany fragment kodu. Te strony wiki zazwyczaj obejmują:
- motywacje związane z decyzjami projektowymi dotyczącymi części API (na przykład, zrobiliśmy to brzydkie rzeczy, ponieważ ta konkretna biblioteka innej firmy chce, aby rzeczy były robione w ten sposób, ponieważ ta inna biblioteka ..., ponieważ ...)
- wyjaśnienie, w jaki sposób radzimy sobie z poszczególnymi typowymi zadaniami (na przykład wyświetlanie trywialnego wyskakującego okienka, które musi odwoływać się do odpowiednich stylów aplikacji, zarejestrować się w komponencie rejestru i zaimplementować jakiś interfejs, aby być automatycznie „skanowane” przez inny komponent)
- dobre praktyki (jakkolwiek subiektywne, tak naprawdę to spisujemy)
- konfiguracja środowiska, wymagane narzędzia i konfiguracja
Ogólnie rzecz biorąc, przede wszystkim rzeczy związane z pisaniem kodu, które nie pasują do zwykłej dokumentacji kodu ze względu na jego rozmiar i charakter postu na blogu / artykuł.
Problem
O ile wprowadzenie tego systemu wydawało się dobrym pomysłem kilka miesięcy temu, obecnie czuję, że powoduje więcej problemów niż rozwiązuje. Na przykład:
- ludzie zrobić artykuły zapisu ... ale gdy kod zmieniony, zmiana następuje rzadko wiki
- wiele artykułów na zarysowania , napisanych przez kogoś w pośpiechu i tak zostawionych
- mimo że zamówienie na artykuł zwykle pochodzi od kierownika projektu, rzadko jest ono weryfikowane pod kątem poprawności / składu - co czasami skutkuje niską jakością
Zwykła degradacja. Kod został zmieniony, wiki pozostaje bez zmian. Następnym razem, gdy ktoś szuka informacji, zwykle znajduje kilka przestarzałych rzeczy niskiej jakości - i zastanawia się, co się dzieje, czy rzeczy, które znalazł, są dokładne, a nawet gorzej. I to, co miało pomóc, kończy się odwrotnością.
W tej chwili wydaje się, że ludzie zdają sobie sprawę z problemu, w tym kierownika projektu, ale najwyraźniej nikt nie wydaje się, że miałby z tym coś wspólnego (lub ma coś ciekawszego do zrobienia).
Początkowo myślałem, aby rzucić to wszystko w zapomnienie (po tym, jak kilka razy z rzędu ugryzły mnie przestarzałe „wskazówki”), ale przypuszczam, że może to być zbyt ekstremalne. Warto zwrócić uwagę na niektóre informacje i czasem je przeczytać, ale problem pozostaje ten sam: jak radzisz sobie z ich „aktualnością” ? Czy w jakiś sposób powiązano go z kodem źródłowym (więc po sprawdzeniu zaktualizowanej wersji pliku autor artykułu zostaje powiadomiony o konieczności zmiany kodu / artykułu)? Czy wyznaczona osoba „czuwa” nad codziennymi podstawami? Czy regularne porządki?