Vasily
@fillpackart , передай дружбану, шоб не выебывался и не завышал самооценку
Фил Ранжин
да ему и без тебя передали
Vasily
Код реально странненький
Vladislav
Vladislav
никто не говорит что наш код розами пахнет при этом
Vladislav
по разному
Vasily
У НАС СЛОЙ ГУМУСА ЕСТЬ
Vasily
А НА НЕМ РОЗЫ
Vasily
НЕ НАДО ТУТ
Крылатый
Vasiliy
Oleg
ну это срака оверинжерингивая
для кого-то IoC тоже оверинженеринг, и всякие MVC темплейты, которые отвечают за "архитектуру"
потому что это всё околоабстрактная хрень
кто-то готов жевать кучу интерфейсов за интерфейсами и для него это правильная архитектура
а кто-то хочет в синглфайле прод писать без всякой хуйни
Oleg
и правых тут не будет
Oleg
прав тот кто быстро и много приносит денег бизнесу
Vladislav
здесь нет все хорошо
Vladislav
Есть неоправданная сложность
Фил Ранжин
Ну я вот больше не из за этого бомбил, а из-за того, как такие вещи вообще на хабре воспринимаются
Фил Ранжин
Ещё хорошо, что кто-то в код полез, многи просто хуями с ходу обкидывают
Mikhαil
Анонс фреймворка это если бы он рассказал о фреймворке
Oleg
я не вижу в этих портянках cs файлов ничего сложного, я просто не понимаю, что это решит
точнее насколько эффективнее решит относительно каких-то других решений
Mikhαil
Мб когда-то будет ок и мы поймём смысл
Mikhαil
Но тогда не стоило делать анонс сейчас
Vladislav
Vladislav
Все этап оверинжинирига проходили
Vladislav
Нет
Mikhαil
Конечно это субъективно
Vasily
Ну здесь просто попытка решить некоторые проблемы способами, которыми их решить очень непросто
Vladimir
надо было просто взять фарш
Vladislav
Глубина иерархий, оправданность дженериков, классов, интерфейсов и прочее
Vladislav
Обычно смотришь и запах либо есть либо нет
Mark
ну вот по этим метрикам я думаю конкретно этот репозиторий будет показывать нормальные цифры, но "плохим" он этого не перестанет быть
Не знаю. Надо смотреть, конечно. Но вот этот код:
public interface IPrimaryKey<T1, T2, T3, T4, T5, T6, T7>
{
(Expression<Func<T1>>, Expression<Func<T2>>, Expression<Func<T3>>, Expression<Func<T4>>, Expression<Func<T5>>, Expression<Func<T6>>, Expression<Func<T7>>) PrimaryKey { get; }
}
явно сложный по этим метрикам.
Vladislav
Зачем там тот же дипклон я не совсем понимаю
Mikhαil
Согласен
Oleg
Не знаю. Надо смотреть, конечно. Но вот этот код:
public interface IPrimaryKey<T1, T2, T3, T4, T5, T6, T7>
{
(Expression<Func<T1>>, Expression<Func<T2>>, Expression<Func<T3>>, Expression<Func<T4>>, Expression<Func<T5>>, Expression<Func<T6>>, Expression<Func<T7>>) PrimaryKey { get; }
}
явно сложный по этим метрикам.
ну у нас в стдлибе есть Action<>
до 15 аргументов дженерик аргументов
Oleg
теперь дотнет херовый или как это работает?
Vasily
Ну здесь скорее всего человек, у которого 10+ лет галерного опыта
Крылатый
Vasily
И соответствующий этому опыту тип мышления
Крылатый
Только хлебушка не забыть туда.
Vasily
Который поменять нелегко
Mark
Ilya
Mark
В дотнете за последние 20 лет чего только не было. Я вот помню ещё MembershipProvider. Очевидно неудачное решение.
Vladislav
Mikhαil
Ilya
Ха!
Mark
Ну и в Action всё-таки аргументы T1, T2, T3, а тут в коде Expression<Func<T1>>
Oleg
я не к тому, что это какой-то пиздатый фреймворк
просто если разъебывать, то по фактам
я читал много реп популярных фреймворков, и видел гораздо более пиздецовые конструкции
тем не менее люди любят эти инструменты, и в большинстве случаев даже не читают сорсы
Vladislav
Это по фактам
Oleg
хорошо, чем ему тогда заменить тот код?
он же его по какой-то причине написал
Oleg
точнее он даже не самописный, а темплейтный
просто чтоб поддерживать разное количество аргментов
Igor
А что вы это автора за глаза обсуждаете, а то он старался
https://t.me/dotnetby/21579
делал "процессор сайд-эффектов", а фидбэка мало
Oleg
Oleg
это же типа общецелевое решение
Mark
Ну вот в Ruby On Rails сделано именно так. И ничего, люди работают. Даже фанатствуют.
Mark
Ну и правду сказать, 15 полей в первичном ключе... Чёрт, это и правда много, я ни разу такого не видел. Ну, три поля, ну, четыре.
Oleg
Oleg
я экшенов на 15 аргументов не видел :)
Oleg
имхо всё такое надо заворачиваться в кортежи или какие-то именованные типы
Oleg
ну и у него конкретно не 15
Oleg
а 8
Oleg
максимум
Roman
Ilya
Так и делают.
Roman
да, а теми аргументами можно обосрать вообще любой код
какими теми? У тебя позиция "докажи, что ты не верблюд". Любой код по умолчанию говно, надо доказывать обратное. Любая сложность в коде должна иметь под собой хорошее обоснование.
Иначе из инженерной деятельности это все превращается в детский сад с лозунгом "Я художник я так вижу" и "сколько людей столько и мнений". Все бы ничего, только это контрпродуктивно. Если речь идет о прикладном программировании, то код доложен быть практичным и прагматичным, а это объективные параметры, НЕ субъективные.
Oleg
какими теми? У тебя позиция "докажи, что ты не верблюд". Любой код по умолчанию говно, надо доказывать обратное. Любая сложность в коде должна иметь под собой хорошее обоснование.
Иначе из инженерной деятельности это все превращается в детский сад с лозунгом "Я художник я так вижу" и "сколько людей столько и мнений". Все бы ничего, только это контрпродуктивно. Если речь идет о прикладном программировании, то код доложен быть практичным и прагматичным, а это объективные параметры, НЕ субъективные.
так-то я о том речь и вёл
что все эти "код говно, я так сказал" бесполезный шум
если читали бы репу не поверхностно, то оверинженеринга там бы не и не нашли
там крайне простые абстракции, которые могут дублироваться из-за количество дженерик аргументов
а вот насчет практичности я и говорил, просто непонятно нахрена это всё, что быстрее и лучше я начну делать
Oleg
ты просто вырвал вопрос из контекста
он нужен был, чтобы показать бессмысленность всех этих
"этот код писал не я, потому он говно. моё говно то не пахнет"