Если вы используете форматирование выписок, то каков ваш стиль? - PullRequest
2 голосов
/ 26 ноября 2008

Глядя на улучшение моего утверждения IF, и я хочу, чтобы мой код выглядел красиво

Это то, что я сейчас делаю, это читабельно , есть место для улучшения ?

SomeObject o = LoadSomeObject();


if( null == o
    ||
    null == o.ID || null == o.Title
    ||
    0 == o.ID.Length || 0 == o.Title.Length
 )

Мне не с кем поспрашивать. Вот почему я пришел сюда в первую очередь. Пожалуйста, не закрывайте мой вопрос :(

Ответы [ 12 ]

0 голосов
/ 27 ноября 2008

не читается . Вот как я делаю Really Long Ifs (или те, которые мне приходится много крутить).

if(
  o == null  ||
  o.ID == null || 
  o.Title == null ||
  o.ID.Length == 0 || 
  o.Title.Length == 0
 )

Для тебя я бы сделал одну строчку.

if(o == null  || o.ID == null || o.Title == null || o.ID.Length == 0 ||  o.Title.Length == 0)

Или, если вы используете C ++, я бы сделал что-то вроде этого:

if(!o)
{}
if(! (o.ID && o.Title && o.Length))
{}

... так как оно отделяет творение от правильности.

Однако, будьте осторожны, , меня обвиняют в раздутом LOC из-за моей любви к переводам строки.

0 голосов
/ 26 ноября 2008

Я обычно делаю что-то вроде:

if(x < 0 || x >= width
|| y < 0 || y >= height)
{
    /* Coordinate out of range ... */
}

Первые буквы y и x выстраиваются в моноширинный шрифт, что приятно, и меня не смущают полувступы.

Этот метод лучше всего работает при аналогичных сравнениях. В противном случае я обычно делю свои if.

...