Я думаю, что @aaronaught сделал несколько хороших замечаний, которые действительно приводят к ответу, который я хотел дать, а именно, что это действительно зависит от того, кто вносит изменения (и почему) и кто написал код.
По моему личному опыту, код обычно изменяется, потому что либо он не работает должным образом, либо вам просто нужно расширить то, что он на самом деле делает.
В среде Team dev вы не должны (и, возможно, не сможете) общаться с оригинальным кодером, все должно быть ясно из кода.
Тогда это приводит к вопросу, который занимает большую часть моего времени, и именно это и задумал оригинальный программист, и именно этот вопрос чаще всего приводит к удалению кода, и именно поэтому мы должны комментировать все, и где неопытные младшие программисты больше всего часто падают
Любой программист, который изменяет чужой код (рефакторинг), должен вежливо и на практике скопировать тот же стиль кодирования кода, который уже существует, и сначала предпринять шаги, чтобы выяснить, как работает оригинальный код и что он пытается чтобы и на самом деле собираюсь, достичь. Часто это само по себе выявляет ошибки, но, безусловно, заставляет людей терпеть боль, которую следующий человек будет испытывать при взгляде на ваш код.
В моей команде любой может удалить, изменить или переписать что угодно, и я рассматриваю «владение» как практику, которая порождает лень, как если бы один человек обязательно был уведомлен о любых изменениях, зачем ему делать код читаемым.
Короче говоря, нет, вам не нужно спрашивать первоначального автора кода, и если, глядя на код, который вы делаете, то это признак того, что либо его код недостаточно читабелен, либо вам нужно улучшить Ваши навыки. Тем не менее, я считаю правильным оставить исходный код на месте, закомментированный, пока вы не будете абсолютно уверены, что при переписывании вы случайно не удалили необходимую функциональность. Никто не идеален.