Recentemente, deparei com uma biblioteca Python no GitHub. A biblioteca é ótima, mas contém um erro de digitação flagrante em um nome de função. Vamos chamá-lo dummy_fuction()
enquanto deveria ser dummy_function()
. Essa função é definitivamente "in natura" e provavelmente usada em sistemas embarcados.
A primeira coisa que vem à mente é adicionar uma segunda versão da função com o nome correto e adicionar um aviso de descontinuação à primeira versão para a próxima versão.
Três perguntas:
- A abordagem acima poderia ter consequências não intencionais?
- Existe uma abordagem padrão para esse tipo de problema?
- Por quanto tempo deve ser deixado qualquer aviso de descontinuação?
python
version-control
coding-standards
deprecation
Jamie Bull
fonte
fonte
http_referer
- "É como quando eu fiz o campo de referência. Eu não senti nada além da tristeza por minha escolha de ortografia. Agora estou tentando corrigir a ortografia no OED, pois minha ortografia é usada vários bilhões de vezes por minuto mais que o deles ". - Phillip Hallam-BakerRespostas:
Em primeiro lugar, a política depende do mantenedor.
Eu acho que sua pergunta é interessante, mas principalmente baseada em opiniões.
Na minha opinião pessoal, sua abordagem é sólida: renomeie a função e deixe a versão incorreta como um artefato obsoleto, redirecionando para a correta.
Poderia quebrar o código, por exemplo. se alguém também não suportasse o erro de ortografia e implementasse uma versão renomeada. Agora haverá um conflito de nomes assim que a biblioteca for atualizada.
Não cometa erros de ortografia ao escrever uma biblioteca;)
Acredito que a descontinuação deva ser mantida até o próximo grande lançamento (quando o primeiro dígito no número da versão for aumentado).
É quando algumas quebras de compatibilidade com versões anteriores justificadas são toleráveis, e cabe aos usuários da biblioteca garantir que seu código ainda seja compilado.
Apenas certifique-se de apontar isso no changelog: pessoal, se você usou
dummy_fuction
, substitua-o pordummy_function
todos os lugares e você estará pronto.Se a biblioteca não tiver controle de versão, como pode ser - é um bom argumento iniciar o controle de versão.
fonte