Mówiąc z doświadczenia ...
Pierwszy projekt Open Source, w którym uczestniczyłem, był pełen sików i octu, kiedy zaczynałem.
Od razu zrobiłem przeglądanie plików źródłowych i zacząłem stylizować różne rzeczy zgodnie z moimi osobistymi preferencjami, stworzyłem ogromną łatkę i przesłałem ją.
Jeśli pracujesz z kimś, kto jest „dobry” (tak jak ja), natychmiast odrzuci łatkę. Głównie dlatego, że kiedy bierzesz udział w projekcie open source, oczekuje się, że podzielisz swoje poprawki na kawałki wielkości kęsa, które rozwiązują jeden problem. „Usunięto wszystkie gotos” nie jest dobrym przykładem atomowego zatwierdzenia. Nawet jeśli najpierw podzielisz go na mniejsze, dobrze udokumentowane zatwierdzenia, nadal może zostać odrzucone.
Powodem jest to, że ponieważ kod jest przetwarzany przez wiele osób (z różnymi stylami) w czasie, zaakceptowanie zmian w całej bibliotece w celu dopasowania do stylu jednego programisty jest naprawdę niewykonalne. Jeśli zmiana stylu ze względu na styl byłaby możliwa, każdy projekt open source nigdy nie posunąłby się do przodu, ponieważ kod byłby stale edytowany, aby pasował do różnych stylów deweloperów.
Refaktoryzacja kodu i dodanie funkcjonalności (lub usunięcie przestarzałego crufta) zwykle ma pierwszeństwo przed kodem „czyszczenia”.
Najtrudniejsza i najbardziej satysfakcjonująca część pracy nad projektem typu open source polega na zapytaniu, dlaczego proponujesz wprowadzić zmiany, które przesyłasz. Jeśli możesz podać dobry powód, istnieje większa szansa, że łatka zostanie przesłana.
Radzę wprowadzić kilka z tych zmian w jednym pliku źródłowym, aby zasmakować tego, co próbujesz zrobić w pierwszej kolejności. Jeśli zmiany są dobrze uzasadnione i zaakceptowane, zapytaj, czy więcej takich zmian poprawiłoby jakość projektu. W ten sposób nie zmarnujesz dużo wysiłku na nic, jeśli Twoje łatki zostaną odrzucone w przyszłości.
Rozwój open source to coś więcej niż pisanie kodu. Pracujesz nad budowaniem relacji zaufania, ponieważ zrobią to strażnicy (twórcy kontrolujący dostęp push) robić to, co oni mają na celu ochronę integralności projektu. Gdy prześlesz więcej łat, strażnik będzie lepiej wyczuwał twój styl i nie będziesz musiał tak bardzo uzasadniać swoich zmian.
To proces, który wymaga czasu, ale jest bardzo satysfakcjonujący. Dużo nie tylko będzie można dowiedzieć się z bycia w stanie patrzeć, a krytykowanie kod czyjeś ale będzie się krytyce na swoim własnym stylu.
Zanim zmarnujesz dużo czasu na „naprawienie niesprawiedliwości błędów w cudzym stylu kodowania”, zadaj sobie następujące pytanie:
Czy zmiany, które proponujesz, są oparte na dodaniu wartości do projektu, czy też są oparte na twojej wewnętrznej religii stylistycznej.
Na przepełnieniu stosu (i powiązanych witrynach wymiany stosów) jest wiele religii. Mam na myśli wiele . Ludzie myślą i mówią o stylu bez końca, jakby im więcej o nim mówiłeś, tym bardziej zbliżasz się do „idealnego, idealnego, niezniszczalnego, nieomylnego” stylu kodowania. Dużo o tym mówię, głównie dlatego, że jest fajnie.
W świecie Open Source styl nie jest tak ważny. Funkcja jest .
Uwaga: wszystkie te porady zakładają, że twój strażnik jest rozsądnym i utalentowanym programistą. Jeśli tak, to uważaj się za szczęściarza, że nie utknąłeś z jednym z tych marudnych b @ & # & es, których jedyną troską jest ochrona ich „dziecka”. Oni nie istnieje w środowisku naturalnym, więc nie zdziw się, jeśli pojawią się jeden.
goto
niekoniecznie jest bałaganem. W wielu przypadkach jego użycie jest całkowicie uzasadnione.