Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

C# - pattern matching - many discards

05.03.24 19:19
Re: C# - pattern matching - many discards
 
alex445 коренной житель
в ответ MrSanders 05.03.24 14:40, Последний раз изменено 05.03.24 19:19 (alex445)
Я под "правилами оформления кода" понимаю правила вроде "строчка не длиннее 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 в определение полей, свойство для него - в публичные свойства, и ещё в месте для методов написать пару методов для получения имени и состояния. А потом бегать-мотаться по всему классу, выясняя, как же инициализируется свойство. А у меня - всё в одном месте.


А не так давно мы ещё выяснили, что такая запись многим неприемлема - нужно расписать всё с явными геттерами, явной проверкой на налл (без оператора ??=) и без лямбд. Т.е. накатать кода где-то на полэкрана, разнесённого в три разных места класса.

 

Перейти на