python – ¿Cómo lidiar con una función mal nombrada en el código de producción?

Pregunta:

Recientemente me encontré con una biblioteca de Python en GitHub. La biblioteca es excelente, pero contiene un error tipográfico evidente en el nombre de una función. Llamémoslo dummy_fuction() mientras que debería ser dummy_function() . Definitivamente, esta función está "en estado salvaje" y es muy probable que se utilice en sistemas integrados.

Lo primero que me viene a la mente es agregar una segunda versión de la función con el nombre correcto y agregar una advertencia de obsolescencia a la primera versión para la próxima versión.

Tres preguntas:

  1. ¿Podría el enfoque anterior tener consecuencias no deseadas?
  2. ¿Existe un enfoque estándar para este tipo de problema?
  3. ¿Cuánto tiempo debe dejarse una advertencia de desaprobación?

Respuesta:

En primer lugar, la política depende del mantenedor.

Creo que su pregunta es interesante, pero en su mayoría se basa en opiniones.

En mi opinión personal, su enfoque es sólido: cambie el nombre de la función y deje la versión mal escrita como un artefacto obsoleto, redirigiendo a la correcta.

¿Podría el enfoque anterior tener consecuencias no deseadas?

Podría romper el código, por ejemplo. si alguien tampoco podía soportar la falta de ortografía e implementaba una versión nueva con el nombre de la suya. Ahora habrá un conflicto de nombres una vez que actualicen la biblioteca.

¿Existe un enfoque estándar para este tipo de problema?

No cometa errores ortográficos al escribir una biblioteca;)

¿Cuánto tiempo debe dejarse una advertencia de desaprobación?

Creo que la desaprobación debe dejarse en su lugar hasta la próxima versión principal (cuando se aumente el primer dígito en el número de versión).

Aquí es cuando es tolerable alguna ruptura de compatibilidad con versiones anteriores, justificada, y depende de los usuarios de la biblioteca asegurarse de que su código aún se compile correctamente.

Solo asegúrese de señalarlo en el registro de cambios: muchachos, si usó dummy_fuction , reemplácelo con dummy_function todas partes y listo.

Si la biblioteca no está versionada, como podría ser, es un buen caso comenzar a versionarla.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım