Wiele zależy od konkretnej sytuacji. Załóżmy, że nowa właściwość, którą dodałeś, jest obowiązkowa, tzn. Musi być zawsze ustawiona. Następnie musisz samodzielnie przeszukać kod i zaktualizować go wszędzie tam, gdzie companyObj
jest tworzony, aby upewnić się, że jest on poprawnie skonstruowany (w tym ustawienie nowej właściwości). Zakładam, że PHP ma konstruktory, w takim przypadku wystarczy tylko dodać nowy parametr konstruktora, a kompilator automatycznie oznaczy każde wywołanie konstruktora bez dodatkowego parametru jako błąd kompilacji. Zapewni to również, że członkowie drużyny dowiedzą się o nowej nieruchomości, gdy tylko skorzystają z companyObj
.
Jeśli nowa właściwość jest opcjonalna, wszystko jest mniej jasne. Możesz mieć odpowiednią wartość domyślną. W tym drugim przypadku nadal sugerowałbym aktualizację wszystkich kreacji instancji, aby w razie potrzeby ustawić nową właściwość. Ma to na celu zapewnienie, że kod jest utrzymywany w spójnym stanie przez cały czas .
Przekazywanie zmiany członkom drużyny to kolejny, odległy krok tutaj. Zwinne zespoły wolą komunikację twarzą w twarz i, nie bez powodu, IMHO. Poleganie na dokumentach jest bardzo powolnym i nieefektywnym sposobem rozpowszechniania informacji w zespole. Wiki jest nieco lepsza, ale dokumentowanie każdego atrybutu pojedynczej klasy to przesada IMHO. Stanie się tylko ogromnym obciążeniem dla zespołu i szybko stanie się niewiarygodne i bezużyteczne, ponieważ jesteśmy ludźmi, więc czasami musimy zapomnieć o aktualizacji, ponadto założę się, że niewielu członków zespołu będzie regularnie sprawdź dokumentację (w dowolnej formie), aby uzyskać informacje o najnowszych zmianach kodu.
To ostatnie dotyczy również automatycznie generowanej dokumentacji za pośrednictwem np. Javadoc lub Doxygen. Chociaż można je skonfigurować w automatycznej kompilacji, aby stale aktualizować wygenerowaną dokumentację, nigdy nie widziałem zespołu programistów z członkami regularnie przeglądającymi dokumentację w celu uzyskania informacji o najnowszych zmianach kodu. A jeśli korzystasz z dowolnego systemu kontroli źródła, pierwszym miejscem, w którym zauważasz zmiany, jest i tak aktualizacja lokalnej kopii kodu - wtedy możesz sprawdzić zmiany w znanych klasach i zobaczyć dokładnie, co i jak się zmieniło (wraz z krótkie wyjaśnienie i / lub odniesienie do identyfikatora zadania, jeśli Twój zespół jest przyzwyczajony do dodawania znaczących komentarzy do meldowania - których brakuje w automatycznie generowanych dokumentach).
Komunikacja jest jednym z głównych powodów, dla których zespoły Extreme Programing programują w parach. Jeśli dokonasz zmian razem z członkiem drużyny, od razu dwóch z was wie o każdej zmianie, a następnym razem każdy z was sparuje się z kimś innym, więc przydatne informacje rozprzestrzeniają się dość szybko. Jednak nie zawsze ma to zastosowanie z różnych powodów. Z wyjątkiem tego, możesz po prostu porozmawiać z sąsiadami o zmianie w odpowiednim momencie (np. Podczas lunchu, jeśli zdarzy ci się razem zjeść obiad) lub wysłać wiadomość, jeśli jest to większa, ważniejsza lub bardziej skomplikowana zmiana.
W tym drugim przypadku może istnieć dobry powód, aby odpowiednio go udokumentować. Dokumenty projektowe IMHO są najlepsze, gdy oferują gruboziarnisty przegląd systemu na wysokim poziomie, podczas gdy szczegóły implementacji znajdują się w kodzie (zgodnie z zasadą DRY ).