Стиль кодирования: присвоить двум разным переменным в одной строке одно и то же значение

На языках, которые поддерживают следующий пример:

organizationPanel.Enabled = organizationPanel.Visible = OrganizationsSeparateFromUsers;

что лучше,

выполняя присваивание в одной строке, так как они установлены на одно и то же значение

или делать это на отдельных строках?

2 ответа

Решение

Ни один из них не "лучше", поскольку они функционально эквивалентны. Я бы сказал, что отдельные строки более читабельны, чем одна строка.

то есть:

organizationPanel.Enabled = OrganizationsSeparateFromUsers;
organizationPanel.Visible = OrganizationsSeparateFromUsers;

против:

organizationPanel.Enabled = organizationPanel.Visible = OrganizationsSeparateFromUsers;

Это зависит от размеров переменных. В приведенном вами примере переменные имеют довольно длинные имена, и очень быстро становится трудно читать очень длинные строки, поэтому в этом случае я либо использовал бы две отдельные строки, либо выписал бы их так:

organizationPanel.Enabled = 
  organizationPanel.Visible = 
    OrganizationsSeparateFromUsers;

С половиной отступа вашего обычного размера (в этом случае я использовал 2 пробела, где я бы выделил 4 для нормального отступа) больше на каждой строке.

Если переменные очень короткие, совершенно ясно поместить их в одну строку, например:

i = j = k = 0

Где i, j и k используются в качестве счетчиков / итераторов в цикле, и их значение очевидно.

Другие вопросы по тегам