Acho que o @aaronaught fez alguns pontos positivos, o que realmente leva à resposta que eu queria dar, que é que realmente depende de quem está fazendo a alteração (e por que) e quem escreveu o código.
Na minha experiência pessoal, o código normalmente é alterado porque ele não funciona conforme o esperado ou você simplesmente precisa estender o que realmente faz.
Em um ambiente de desenvolvimento de equipe, não é necessário (e talvez não seja possível) conversar com o codificador original; tudo deve ficar claro no código.
Isso então leva à pergunta que consome a maior parte do meu tempo, que é o que o programador original pretendia, e é a pergunta que mais frequentemente leva à exclusão do código, e é por isso que devemos comentar tudo, e onde os programadores juniores inexperientes mais freqüentemente caem em desgraça.
Qualquer programador que esteja alterando o código de outra pessoa (refatoração) realmente deve, por questão de cortesia e prática, copiar o mesmo estilo de codificação do código já existente e primeiro tomar medidas para descobrir como o código original funcionava e o que estava tentando para realmente alcançar. Muitas vezes, isso por si só identifica bugs, mas certamente força as pessoas a suportar a dor que a próxima pessoa terá ao examinar seu código.
Na minha equipe, qualquer pessoa pode excluir, refatorar ou reescrever qualquer coisa, e eu vejo 'propriedade' como uma prática que gera preguiça, como se uma pessoa tivesse certeza de ser notificada de quaisquer alterações, por que elas precisariam tornar o código legível.
Portanto, resumindo, não, você não deveria ter que perguntar ao autor original do código e, ao olhar para o código, é um sinal de que o código dele não é legível o suficiente ou você precisa melhorar suas habilidades. No entanto, acho bom manter o código original no lugar, comentado, até que você tenha certeza absoluta de que, ao reescrever, não removeu acidentalmente a funcionalidade necessária. Ninguém é perfeito.