Open cameel opened 6 years ago
:+1:
@cameel, bardzo dobry pomysł. Dorzuciłbym przykład z linka:
def myfunc(value=None):
if value is None:
value = []
# modify value here
bo jak znam życie, to co druga osoba nie kliknie/nie przeczyta ;)
Oprócz tego, myślę, że warto byłoby napisać o NIE nadawaniu wartości domyślnych wszystkim argumentom w funkcjach. W kodzie mamy sporo funkcji typu:
def weird_fun(param1=None, param2=None):
assert param1 is not None
assert isinstance(param2, str)
# some code
OK.
Co do nadużywania wartości domyślnych to też zupełnie się zgadzam. Ale może zaproponuj konkretne sformułowanie dla tej zasady w osobnym issue.
zrobiłem issue: https://github.com/Code-Poets/coding-style/issues/4
:+1:
To też chyba można już śmiało dodać ;)
@cameel, zmodyfikowałem Twojego posta - dodałęm do niego przykład z linka
Moim zdaniem powinniśmy zabronić tego w Coding Style i dodać wyjaśnienie dlaczego. Moja wstępna propozycja:
[]
,{}
. Zamiast tego nadajemy im wartośćNone
i wewnątrz funkcji nadajemy już docelową wartość domyślną..Jeżeli ktoś chciałby to przeformułować, rozszerzyć albo dodać przykłady, proszę o propozycje w komentarzach.