Если вам нужно спросить, не надо. Любой, кто читает ваш код, просто должен будет проходить один и тот же процесс, который вы делали, снова и снова, в любое время, когда необходимо просмотреть код. Отлаживать такой код не весело. В конце концов, это все равно будет изменено на использование скобок.
Re:"Попробуйте написать все это в скобках."
result = (obj1.Prop1 != obj2.Prop1 ? obj1.Prop1.CompareTo(obj2.Prop1) :
(obj1.Prop2 != obj2.Prop2 ? obj1.Prop2.CompareTo(obj2.Prop2) :
(obj1.Prop3 != obj2.Prop3 ? obj1.Prop3.CompareTo(obj2.Prop3) :
obj1.Prop4.CompareTo(obj2.Prop4))))
Пояснение:
- «Если , вы должны спросить, не надо».
- "Любой, кто читает ваш код ..."
Следуя общепринятым в проекте соглашениям, вы поддерживаете последовательность, что улучшает удобочитаемость. Было бы глупо думать, что вы можете написать код, доступный для чтения всем, включая тех, кто даже не знает языка!
Поддержание согласованности в проекте, однако, является полезной целью, и несоблюдение принятых в проекте соглашений приводит к дебатам, которые отвлекают от решения реальной проблемы. Предполагается, что те, кто читает ваш код, знают об общих и принятых соглашениях, используемых в проекте, и даже могут быть кем-то, кто непосредственно работает над ним. Если они их не знают, то, как ожидается, они изучат их и должны знать, куда обратиться за помощью.
При этом - если использование троичных выражений без скобок является распространенным и принятым соглашением в вашем проекте, то используйте его, во что бы то ни стало! То, что вы должны были спросить, указывает на то, что это не распространено или не принято в вашем проекте. Если вы хотите изменить условные обозначения в вашем проекте, то сделайте явно недвусмысленное, отметьте это как нечто, чтобы обсудить с другими Участники проекта и двигаться дальше. Здесь это означает использование скобок или использование if-else.
Последнее замечание, если какой-то код кажется вам умным:
Отладка в два раза сложнее, чем писать код в первую очередь. Поэтому, если вы пишете код настолько умно, насколько это возможно, вы, по определению, недостаточно умны для его отладки. & Mdash; Брайан В. Керниган