Здравствуйте, Sinix, Вы писали:
S> 1. Явное разделение зависимостей на слои. Если хелперы начинают тянуть за собой код из, скажем, маппинга, то что-то явно пошло не так
У нас в качестве одного из основных design goals заявлена минимальная связность. Поэтому такое маловероятно, по крайней мере в текущем составе контрибьюторов.
S> 2. Никаких вопросов на тему "ок, мы берём хелперы, но нам не нужна работа с csv, потому что у нас есть своя единственно верная реализация".
Да нет, вопросы все равно будут — всего два пакета их не снимут. Чтобы их не было, нужно чуть ли не каждую фичу в отдельный микропакет пихать.
S> Таки реальный отзыв. Обоснование было примерно такое: ну вот берёшь ты библиотеку-провайдер для СУБД, а с ней в нагрузку — свой ORM.
Это — другое. Вероятность что понадобится драйвер и не понадобится ОРМ — очень высока. А вот в случае предложенного деления — я в подобном сильно не уверен.
S> 3. Меньше борьбы за "весь код должен быть отличным".
Это — плохо.
S>Про версии — нет никакого геммороя, главное чтоб релизы обоих сборок выпускались одновременно. Я ж 4 сборки для перфтестов как-то обновляю и ок.
Тебе деваться некуда из-за зависимостей.
S>Ухтыж, забавно. В смысле, с моей точки зрения константы гораздо ближе к enum members чем к полям.
enum members это тоже поля. И они таки пишутся точно так же, как и поля. Просто они приватными быть не могут.
S>>> Приватные Enum-ы ж с заглавной — норм.
AVK>>Енум это тип, а не поле.
S>Я про enum members.
Они не бывают приватными.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
AVK>У нас в качестве одного из основных design goals заявлена минимальная связность. Поэтому такое маловероятно, по крайней мере в текущем составе контрибьюторов.
AVK>Да нет, вопросы все равно будут — всего два пакета их не снимут. Чтобы их не было, нужно чуть ли не каждую фичу в отдельный микропакет пихать.
Окей, тогда остановимся на том что есть. Саммари: я за разделение, знакомый народ говорит что мы переборщили с фичами, rameel в теме тож за разделение, ну, т.е. реальные запросы есть и я их донёс надеюсь
AVK>Это — другое. Вероятность что понадобится драйвер и не понадобится ОРМ — очень высока. А вот в случае предложенного деления — я в подобном сильно не уверен.
Ну вот я в жизни не представлю, чтоб типовой дотнет-библиотеке понадобилась запись в csv, mapping или что-то в таком духе. Это всё ответственность хоста, т.е. приложения (фреймворка).
Остальные части кода обычно не используют подобное API напрямую, а используют вариант, предоставленный хостом.
К примеру, у нас serviceProvider.GetService<T>() может возвращать null.
В проектах, в которых за дизайн отвечать мне, метод в public API с таким поведением будет называться TryGetService<T>() и никак иначе. Мелочь, но когда такая мелочь систематически выстреливает NullRefException быстро понимаешь, что мелочи решают.
Т.е. нашу реализацию я если и буду использовать, то только спрятанной под капотом.
И что самое прикольное, что поправить тут ничего нельзя. Если мы поменяем поведение и serviceProvider.GetService<T>() будет бросать исключение, то тут же взбунтуется вторая половина пользователей, которым NullRefException не страшны (к примеру, весь код решарпером на null проверяется) и важнее совместимость с фреймворком.
Короче, такие холиварные вещи, для которых есть куча равноправных решений, лучше делать opt-in. Чтобы не следить за тем, что в проекте случайно заюзалась "неправильная" реализация.
S>> 3. Меньше борьбы за "весь код должен быть отличным".
AVK>Это — плохо.
Это хорошо. Потому что "энтерпрайзный" код у нас в основном весь уже написан в одно лицо и у каждого одноголица свои привычки и свои критерии отличного кода. К примеру код от ув. IT почти весь использует выравнивание пробелами.
Имеет смысл бороться за одинаковое форматирование? Для мелочей типа тех что я добавляю — безусловно да, т.к. там нет никакой особой магии и поправить или написать подобное может любой с полпинка.
Для того же маппинга мы не получим никакого эффекта, только минус — маппинг по-прежнему будет оставаться ответственностью IT, а вся помошь от нас сведётся к "мы тебе оформление поменяли"
S>>Про версии — нет никакого геммороя, главное чтоб релизы обоих сборок выпускались одновременно. Я ж 4 сборки для перфтестов как-то обновляю и ок.
AVK>Тебе деваться некуда из-за зависимостей.
Так и тут то же самое будет, не вижу смысла разносить версии обоих библиотек.
S>>Я про enum members.
AVK>Они не бывают приватными.
Ну ок, точку зрения я донёс, дальше спорить не буду.
Здравствуйте, _NN_, Вы писали:
S>>т.е. реальные запросы есть и я их донёс надеюсь
_NN>Может опросом решить ?
Неа. Опрос хорош как сбор реквестов от пользователей, но не как способ принятия решений в команде. Я терпеть не могу демократию внутри проекта — она в итоге ни к чему хорошему не приводит. Всегда должен быть лид, который и принимает конечное решение.
У нас это AndrewVK как автор проекта и человек, добровольно взваливший на себя всю организационную тягомотину
Здравствуйте, Sinix, Вы писали:
S>Неа. Опрос хорош как сбор реквестов от пользователей, но не как способ принятия решений в команде. Я терпеть не могу демократию внутри проекта — она в итоге ни к чему хорошему не приводит. Всегда должен быть лид, который и принимает конечное решение.
У меня пока определенного мнения нет, так что опрос не помешает.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, Sinix, Вы писали:
AVK>>У меня пока определенного мнения нет, так что опрос не помешает.
S>Ок. Заведёшь сам? Если нет — подскажи, как вставить голосование в пост?
Да просто ссылку на него добавляешь и все.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>