Я думаю, що @aaronaught зробив кілька хороших моментів, що насправді призводить до відповіді, яку я хотів дати, що полягає в тому, що це дійсно залежить від того, хто вносить зміни (і чому) і хто написав код.
У моєму особистому досвіді код зазвичай змінюється, оскільки він не працює за призначенням, або вам просто потрібно розширити те, що він насправді робить.
У командному середовищі розробників вам не доведеться (і може не мати можливості) спілкуватися з оригінальним кодером, все повинно бути зрозуміло з коду.
Тоді це призводить до питання, яке займає більшу частину мого часу, саме це і мав намір оригінальний програміст, і саме це питання, яке найчастіше призводить до видалення коду, і саме тому ми повинні все коментувати, і де найбільше недосвідчені молодші програмісти часто припадають.
Будь-який програміст, який змінює чужий код (рефакторинг), дійсно повинен з люб'язності та практики скопіювати той самий стиль кодування, який вже існує, і спершу вжити заходів, щоб з’ясувати, як працював оригінальний код і що він намагався досягти і, власне, досягти цього. Часто це саме по собі виявляє помилки, але, безумовно, це змушує людей терпіти біль, що наступна людина буде дивитися на ваш код.
У моїй команді кожен може видалити, перефактувати або переписати що завгодно, і я розглядаю "право власності" як на практику, яка породжує лінивість, як якщо б одна людина впевнена, щоб її повідомили про будь-які зміни, чому б їм потрібно зробити код читабельним.
Отже, коротше, ні, вам не потрібно було б запитувати оригінального автора коду, і якщо дивитися на код, який ви робите, то це знак того, що або його код недостатньо читабельний, або вам потрібно вдосконалити свої вміння. Однак я вважаю гарною формою залишити оригінальний код на місці, прокоментувавши його, поки ви абсолютно не впевнені, що при переписуванні ви випадково не видалили потрібну функціональність. Ніхто не ідеальний.