C# - pattern matching - many discards
Я под "правилами оформления кода" понимаю правила вроде "строчка не длиннее 140 символов", или "сначала в классе идут публичные, потом приватные" или "после } перенос строки". Но всё равно всё это тоже Coding Convention.
Тогда это хрень полная. Вы бетонируете какие-то фарисейские принципы, зачастую мешающие нормальной работе. В некоторых случаях удобно писать, группируя по смыслу - поля и свойства, например. Т.е. приватную и публичную часть рядом друг с другом. А иногда и методы туда же - в инициализацию объекта пихаю реализацию делегата, созданную тут же через лямбду. Типа такого (отвлечённый пример на Сишарпе)
Person somePerson; public Person SomePerson => somePerson ??= new() { Age = 20, Name = _ => Age > 5 ? Person.DefaultName : "Baby", Condition = (Guid id, string defaultCondition) => { var realAge = GetRealAge(id); return realAge > 100 ? "died" : defaultCondition; }, };
По вашим правилам я должен эти несколько коротких строчек разнести в три разных места класса - приватное поле somePerson в определение полей, свойство для него - в публичные свойства, и ещё в месте для методов написать пару методов для получения имени и состояния. А потом бегать-мотаться по всему классу, выясняя, как же инициализируется свойство. А у меня - всё в одном месте.
А не так давно мы ещё выяснили, что такая запись многим неприемлема - нужно расписать всё с явными геттерами, явной проверкой на налл (без оператора ??=) и без лямбд. Т.е. накатать кода где-то на полэкрана, разнесённого в три разных места класса.