Ostatnio natrafiłem na bibliotekę Python na GitHub. Biblioteka jest świetna, ale zawiera jedną rażącą literówkę w nazwie funkcji. Nazwijmy to dummy_fuction()
tak, jak powinno być dummy_function()
. Ta funkcja jest zdecydowanie „na wolności” i najprawdopodobniej używana w systemach wbudowanych.
Pierwszą rzeczą, jaka przychodzi mi do głowy, jest dodanie drugiej wersji funkcji o poprawnej nazwie i dodanie ostrzeżenia o wycofaniu do pierwszej wersji dla następnej wersji.
Trzy pytania:
- Czy powyższe podejście może mieć niezamierzone konsekwencje?
- Czy istnieje standardowe podejście do tego rodzaju problemu?
- Jak długo należy pozostawić ostrzeżenie o rezygnacji?
python
version-control
coding-standards
deprecation
Jamie Bull
źródło
źródło
http_referer
- „To tak, jak wtedy, gdy robiłem pole referer. Mam tylko żal z powodu wyboru pisowni. Teraz próbuję poprawić pisownię w OED, ponieważ moja pisownia jest używana kilka miliardów razy na minutę więcej niż ich. ” - Phillip Hallam-BakerOdpowiedzi:
Przede wszystkim polityka zależy od opiekuna.
Myślę, że twoje pytanie jest interesujące, ale w większości oparte na opiniach.
Moim osobistym zdaniem twoje podejście jest zdrowe - zmień nazwę funkcji i pozostaw błędną wersję jako przestarzały artefakt, przekierowując na właściwy.
Może to uszkodzić kod np. jeśli ktoś nie mógł znieść błędu pisowni i zaimplementował własną wersję o zmienionej nazwie. Po aktualizacji biblioteki nastąpi konflikt nazw.
Nie popełniaj błędów ortograficznych podczas pisania biblioteki;)
Uważam, że wycofanie powinno pozostać na miejscu aż do następnej ważnej wersji (kiedy pierwsza cyfra w numerze wersji zostanie zwiększona).
Dzieje się tak, gdy pewne - uzasadnione - łamanie wstecznej kompatybilności jest dopuszczalne i od użytkowników biblioteki zależy, czy ich kod nadal będzie działał poprawnie.
Po prostu zaznacz to w dzienniku zmian: chłopaki, jeśli używałeś
dummy_fuction
, zamień go nadummy_function
wszędzie i możesz już iść.Jeśli biblioteka nie jest wersjonowana, tak jak być może - warto rozpocząć wersjonowanie.
źródło