#c_sharp #code_style
Какой способ переноса для тернарного оператора является наиболее общепринятым?
a = b ?
c :
d;
a = b
? c
: d;
Аналогичный вопрос про вызываемые методы.
someObject.
Foo();
someObject
.Foo()
В качестве ответа меня бы вполне устроила ссылка на code style conventions какой-нибудь
крупной компании, где фигурируют эти вопросы.
Ответы
Ответ 1
Придерживаюсь второго варианта как в первом, так и во втором случае. Врядли здесь можно найти "общепринятый" способ переноса. Каждый это решает сам, или придерживается правил, принятых в команде.Ответ 2
1) Второе. 2) Второе.Ответ 3
Первый вариант более привычно выглядит, т.к. ближе к естественной пунктуации английского языка (знак препинания в конце строки). Второй вариант более эффективен с технической точки зрения. Вы можете в отладочных целях комментировать отдельные строки кода, не нарушая его синтаксической корректности, что было бы затруднительно, будь у Вас оператор в конце строки. Ну и само размещение оператора в начале строки просто нагляднее - там он заметнее.Ответ 4
Если уж приходится переносить, то первый вариант это a? b: c; или (ну, совсем не влезает) a? b: c; Вообще, если выражение столь громоздко, что в две строки не помещается, то стоит подумать о функции. Второй однозначно obj .m();
Комментариев нет:
Отправить комментарий