Блог

Плохие имена переменных или методов с Only - Признак плохого кода #5

Only переменные, в которых есть слово Only приводят к тому, что логика, которая к ним привязана будет перевернута и теоретически не переопределяемая. 

Классическое имя ReadOnly. Почему Only? Почему нельзя просто назвать Read? В ОС Windows есть такой атрибут ReadOnly, который как бы переопределяет любые права на запись и говорит, что теперь из файла можно только читать. Теоретически это выглядит красиво, но начинаются проблемы, когда мы хотим кому-то дать права на запись. С одной стороны, вроде бы стоит Only флаг на чтение, а с другой стороны мы хотим дать запись. Странно и непонятно. Ну ладно, это ОС и UI. Я хоть и не согласен с этим именем, все уже смирились с этим. 

Много составляющих в if - - Признак плохого кода #6

Не люблю, когда в операторе if производиться много проверок, даже если их отсортировали по смыслу. Даже если я знаю, что проверки отсортированы, мне все равно приходиться думать, а что каждая из них делает.

func foo (something) {
   if (something.isActive &&
      something.StartDate < DateTime.Now && 
     (something.EndDate == null ||  something.EndDate > DateTime.Now) &&
     User.CurrentUser == something.Creator && canEdit(something)) {
   }
}

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне