Creo que @aaronaught hizo algunos buenos puntos, lo que realmente lleva a la respuesta que quería dar, y es que realmente depende de quién está haciendo el cambio (y por qué) y quién escribió el código.
En mi experiencia personal, el código normalmente se cambia porque o bien no funciona como se esperaba o simplemente necesitas extender lo que realmente hace.
En un entorno de desarrollo de equipo, no debes tener (y es posible que no puedas) hablar con el codificador original, todo debe estar claro en el código.
Esto conduce a la pregunta que consume la mayor parte de mi tiempo, que es lo que pretendía el programador original, y es esa pregunta la que más a menudo conduce a la eliminación del código, y es por eso que deberíamos comentar todo y donde no tenemos experiencia. Los programadores subalternos más a menudo caen en faltas.
Cualquier programador que esté cambiando el código de otra persona (refactorización) debería, como cuestión de cortesía y práctica, copiar el mismo estilo de codificación del código ya existente, y primero tomar medidas para descubrir cómo funcionó el código original y qué estaba tratando de lograrlo, y en realidad lo iba a lograr. A menudo esto en sí mismo identifica los errores, pero ciertamente obliga a las personas a soportar el dolor que la próxima persona tendrá al mirar su código.
En mi equipo, cualquiera puede eliminar, refactorizar o reescribir cualquier cosa, y veo la "propiedad" como una práctica que genera pereza, como si una persona estuviera segura de que se le notificaría cualquier cambio, ¿por qué necesitarían hacer el código legible? .
En resumen, no, no deberías tener que preguntarle al autor original del código, y si miras el código que haces, es una señal de que su código no es lo suficientemente legible o que Necesitas mejorar tus habilidades. Sin embargo, me parece una buena forma de dejar el código original en su lugar, comentado, hasta que esté absolutamente seguro de que, al volver a escribir, no ha eliminado accidentalmente la funcionalidad requerida. Nadie es perfecto.