Powrót w 2002 roku, kiedy Po ukończeniu college'u i pracy nie było mi wiele, połączyłem się z firmą usługową, która tworzyła oprogramowanie dostosowane do swoich klientów w Javie. Musiałem usiąść w biurze klienta (który był zepsutym pokojem w elektrycznym podstacji uzbrojonym w prąd zmienny, aby utrzymywały serwery), dzieląc krzesła/komputery z innymi facetami w zespole. Pozostali inżynierowie (jeśli mogę nazwać ich inżynierami;) w grupie używanej do wprowadzania zmian ad-hoc do kodu źródłowego, kompilują pliki i wprowadzają je do produkcji.
- Nie ma sposobu, aby dowiedzieć się, kto dokonał jakiej zmiany.
- Nie ma sposobu, aby dowiedzieć się, dlaczego wprowadzono jakąkolwiek zmianę.
- Nie można przejść do poprzedniej wersji kodu, chyba że inżynier "zapamiętał" to, co zmodyfikował.
- Kopia zapasowa: Skopiuj pliki z serwera produkcyjnego, które zostały zastąpione nowymi plikami.
- Lokalizacja kopii zapasowej: Katalog domowy inżyniera, który kopiuje pliki na serwer produkcyjny.
Raporty o serwerach produkcyjnych, które uległy awarii w związku z nieudanymi próbami kopiowania plików na serwer (pominięcie kopiowanego pliku, zgubienie kopii zapasowych lub skopiowanie niepoprawnych plików lub skopiowanie wszystkich plików) spotkałem się z wzruszeniem ramion (o nie, czy to w dół? zobaczmy, co się stało, hej, który zmienił to, co ostatnio ...? ummm ...).
Podczas tych dni, po spędzeniu kilku frustrujących dni próbuje dowiedzieć się whos i whys tył kodu, ja wymyślił system komentarzy na liście w nagłówku pliku źródłowego, który szczegółowo następujące:
- Data zmiany dokonane
- kto dokonał zmiany
- Dlaczego dokonano zmiany
Dwa miesiące później, gdy lista zagrożonych zakwestionować chowania rozmiaru e kodu źródłowego w pliku menedżer miał świetny pomysł na uzyskanie systemu kontroli wersji źródłowej.
Nigdy nie musiałem umieszczać żadnych komentarzy w nagłówkach plików źródłowych (z wyjątkiem informacji o prawach autorskich) w żadnej firmie, w której pracowałem od tego czasu. W mojej obecnej firmie wszystko inne jest w większości oczywiste, patrząc na kod lub przechodząc do systemu zgłaszania błędów, który jest zintegrowany z systemem kontroli wersji źródłowej.
Zgadzam się. Jeśli masz zamiar uwzględnić tylko jedną rzecz, to przynajmniej bądź dostatecznie przyzwoity, aby dołączyć licencję. –