Only переменные, в которых есть слово Only приводят к тому, что логика, которая к ним привязана будет перевернута и теоретически не переопределяемая.
Классическое имя ReadOnly. Почему Only? Почему нельзя просто назвать Read? В ОС Windows есть такой атрибут ReadOnly, который как бы переопределяет любые права на запись и говорит, что теперь из файла можно только читать. Теоретически это выглядит красиво, но начинаются проблемы, когда мы хотим кому-то дать права на запись. С одной стороны, вроде бы стоит Only флаг на чтение, а с другой стороны мы хотим дать запись. Странно и непонятно. Ну ладно, это ОС и UI. Я хоть и не согласен с этим именем, все уже смирились с этим.
Не люблю, когда в операторе if производиться много проверок, даже если их отсортировали по смыслу. Даже если я знаю, что проверки отсортированы, мне все равно приходиться думать, а что каждая из них делает.
func foo (something) { if (something.isActive && something.StartDate < DateTime.Now && (something.EndDate == null || something.EndDate > DateTime.Now) && User.CurrentUser == something.Creator && canEdit(something)) { } }