Recientemente me encontré con una biblioteca de Python en GitHub. La biblioteca es excelente, pero contiene un error tipográfico deslumbrante en el nombre de una función. Llamémoslo dummy_fuction()
mientras debería ser dummy_function()
. Esta función es definitivamente "en la naturaleza" y probablemente se usa en sistemas embebidos.
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 desaprobación a la primera versión para la próxima versión.
Tres preguntas:
- ¿Podría el enfoque anterior tener consecuencias no deseadas?
- ¿Existe un enfoque estándar para este tipo de problema?
- ¿Cuánto tiempo se debe dejar en su lugar una advertencia de desaprobación?
python
version-control
coding-standards
deprecation
Jamie Bull
fuente
fuente
http_referer
: "Es como cuando hice el campo de referencia. No tengo nada más que pena por mi elección de ortografía. Ahora estoy tratando de corregir la ortografía en el DEO ya que mi ortografía se usa varios miles de millones de veces más por minuto". que la de ellos ". - Phillip Hallam-BakerRespuestas:
En primer lugar, la política depende del responsable.
Creo que su pregunta es interesante, pero sobre todo basada 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 romper el código, por ejemplo. si alguien tampoco podía soportar la falta de ortografía e implementaba una versión renombrada propia. Ahora habrá un choque de nombres una vez que actualicen la biblioteca.
No cometas errores ortográficos al escribir una biblioteca;)
Creo que la desaprobación debe dejarse en su lugar hasta la próxima versión principal (cuando se aumenta el primer dígito en el número de versión).
Esto es cuando es tolerable alguna ruptura de compatibilidad hacia atrás, justificada, y corresponde a los usuarios de la biblioteca asegurarse de que su código siga funcionando correctamente.
Solo asegúrate de señalarlo en el registro de cambios: chicos, si lo usaste
dummy_fuction
, reemplázalo pordummy_function
todas partes y listo.Si la biblioteca no está versionada, como podría estarlo, es un buen caso para comenzar a versionarla.
fuente