if i>0 : return sqrt(i)
elif i==0: return 0
else : return 1j * sqrt(-i)
VS
if i>0:
return sqrt(i)
elif i==0:
return 0
else:
return 1j * sqrt(-i)
Biorąc pod uwagę powyższe przykłady, nie rozumiem, dlaczego właściwie nigdy nie widzę pierwszego stylu w bazach kodu. Dla mnie zmieniasz kod w format tabelaryczny, który wyraźnie pokazuje, czego chcesz. Pierwsza kolumna może być praktycznie zignorowana. Druga kolumna określa warunek, a trzecia kolumna zawiera oczekiwane dane wyjściowe. Wydaje mi się, przynajmniej prosty, łatwy do odczytania. Jednak zawsze widzę, że ten prosty rodzaj sprawy / przełącznika pojawia się w rozszerzonym, wciętym formacie. Dlaczego? Czy ludzie uważają, że drugi format jest bardziej czytelny?
Jedynym przypadkiem, gdy może to być problematyczne, jest zmiana kodu i wydłużenie go. W takim przypadku myślę, że całkowicie rozsądne jest przeformułowanie kodu na długi, wcięty format. Czy wszyscy robią to w drugą stronę, po prostu dlatego, że zawsze tak było? Będąc adwokatem diabła, sądzę, że innym powodem może być to, że ludzie znajdują dwa różne formaty w zależności od złożoności instrukcji if / else, które są mylące? Doceniony zostanie każdy wgląd.
if
jeśli jest w tej samej linii.