Myślę, że @aaronaught podniósł kilka dobrych punktów, co naprawdę prowadzi do odpowiedzi, którą chciałem udzielić, a mianowicie, że tak naprawdę zależy to od tego, kto dokonuje zmiany (i dlaczego) i kto napisał kod.
Z mojego osobistego doświadczenia kod jest zwykle zmieniany, ponieważ albo nie działa zgodnie z przeznaczeniem, albo po prostu musisz rozszerzyć to, co faktycznie robi.
W środowisku deweloperskim zespołu nie powinieneś (i być może nie będziesz w stanie) rozmawiać z oryginalnym programistą, wszystko powinno być z kodu usunięte.
To prowadzi do pytania, które pochłania większość mojego czasu, co zamierzał pierwotny programista, i to właśnie to pytanie najczęściej prowadzi do usunięcia kodu, i dlatego powinniśmy komentować wszystko, a niedoświadczeni młodsi programiści najbardziej często upadają.
Każdy programista, który zmienia czyjś kod (refaktoryzacja) naprawdę powinien, dzięki uprzejmości i poćwiczyć kopiowanie tego samego stylu kodowania już istniejącego kodu, i najpierw podejmij kroki, aby dowiedzieć się, jak działał oryginalny kod i co próbował do osiągnięcia i faktycznie do osiągnięcia. Często to samo w sobie identyfikuje błędy, ale z pewnością zmusza ludzi do znoszenia bólu, jaki następna osoba będzie miała na twój kod.
W moim zespole każdy może usuwać, refaktoryzować lub przepisywać cokolwiek, a „własność” postrzegam jako praktykę, która rodzi lenistwo, tak jakby jedna osoba na pewno była powiadamiana o jakichkolwiek zmianach, dlaczego miałaby sprawić, by kod był czytelny.
Krótko mówiąc, nie, nie powinieneś pytać oryginalnego autora kodu, a jeśli patrzysz na kod, który robisz, oznacza to, że albo jego kod nie jest wystarczająco czytelny, albo musisz poprawić Twoje umiejętności. Jednak uważam, że dobrym rozwiązaniem jest pozostawienie oryginalnego kodu na miejscu, skomentowane, dopóki nie masz absolutnej pewności, że podczas przepisywania nie przypadkowo usunąłeś wymaganą funkcjonalność. Nikt nie jest idealny.