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)
З огляду на наведені вище приклади, я не розумію, чому я практично ніколи не бачу першого стилю в кодових базах. Для мене ви перетворюєте код у табличний формат, який чітко показує, що ви хочете. Перший стовпець можна практично ігнорувати. Другий стовпець ідентифікує умову, а третій стовпець дає вам потрібний результат. Мені здається, принаймні мені, прямолінійний і легкий для читання. Але я завжди бачу, як ця проста ситуація з випадком / вимикачем виходить у розширеному форматі з відступом на вкладці. Чому так? Чи вважають люди другий формат більш читабельним?
Єдиний випадок, коли це може бути проблематичним, це якщо код змінюється і стає довшим. У цьому випадку я вважаю, що цілком розумно переробити код у довгий, відступний формат. Чи всі роблять це по-другому просто тому, що це було так, як це робилося завжди? Будучи захисником диявола, я думаю, що ще одна причина може полягати в тому, що люди знаходять два різні формати залежно від складності тверджень if / else заплутаними? Будь-яке розуміння буде вдячне.
if
якщо він знаходиться на тій же лінії.