Aleksandr
Странно это все
Éminence grise
Ну я тут пришел месяц назад в контору, как второй поток команды. Предыдущую уволили полностью, потому как за своими принципами они умудрились превратить систему в полностью немодифицируемую. Там был OOП головного мозга с неизлечимым диагнозом "дебил перечитавший" в главных - результат: сам вылетел, парней испортил, не знаю смогут ли они из этого выползти, и оставил такое, что проще стереть, чем поддерживать. Не думаю, что такой сейчас на рынке не будет просто послан, как некомпетентное животное.
Фил Ранжин
Эм
Фил Ранжин
а кто его пошлёт то?
Éminence grise
А кто его возьмет? Если на одно действие он 17 классов городит?
Фил Ранжин
так он на собесе расскажет про паттерны, про ООП, про опыт лидинга, с руками оторвут
Éminence grise
Кому сейчас нужно что то, кроме быстрой реализации и быстрой работы
Vladislav
Éminence grise
И сколько продержится?
Фил Ранжин
Фил Ранжин
я проверял, можно три месяца вообще ничего не делать, и тебя не увольняют
Фил Ранжин
да с год
а больше года нахуй где-то работать?
Éminence grise
А потом уволят. И так дальше. А кто себе такого будущего хочет? Вот я и говорю, что что бы не испортить себе карму наработанными привычками - от таких начальников надо бежать. Я вот бегаю, если прижимает.
Фил Ранжин
Фил Ранжин
не оч выходит конеч, но что поделаешь
Фил Ранжин
именно поэтому я и не люблю работать больше года
Фил Ранжин
там уже ответственность начинается
Éminence grise
А вот тут вопрос в амбициях - хочешь денег и уважухи, бери ответсвенность и тяни так, чтоб потом за тобой не плевались, а радовались. Не хочешь, нет. Уходить надо так, что б оставшиеся звонили, советовались, становились учениками и последователями. Тогда жизнь прожита не в пустую.
Bonart
Vladislav
Фил Ранжин
А вот тут вопрос в амбициях - хочешь денег и уважухи, бери ответсвенность и тяни так, чтоб потом за тобой не плевались, а радовались. Не хочешь, нет. Уходить надо так, что б оставшиеся звонили, советовались, становились учениками и последователями. Тогда жизнь прожита не в пустую.
я воспринимаю работу, как локацию в рпг. Лут вынес, квесты выполнил и забыл. Но мне не нравятся все мои работы, потомучт там делают какую-то хрень. Вот всё жду, когда понравится.
Bonart
Éminence grise
Никогда, а локации ты в РПГ выносишь не только из за лута, но из за экспы, вот и определись, что на твоем левеле важнее
Bonart
Éminence grise
Фил Ранжин
Идиоматичный для платформы путь
Éminence grise
А для будущего уже тупик, это мое личное IMHO, я ведь не от хорошей жизни на функциональщину подсел. Мне пришлось переосмысливать все, что бы результативность своей работы повысить.
Éminence grise
Я в csharp с 2001 и ВЕСЬ путь ООП прошел - от прога до архитекта, понял что тупик
Фил Ранжин
Фил Ранжин
Фил Ранжин
эта платформа меня насилует, и я ничего с ней не могу поделать
Фил Ранжин
томушт код тупо не сбилдится, если я вот эту всю хуйню писать не буду
Vladislav
Фил Ранжин
он самый
Vladislav
Éminence grise
Интерфейс с сеттерами - фи
Фил Ранжин
и не поспоришь ведь. Ведь в C# так делают. Ведь это идиоматично для C#. Так что хуярь ка фил миллиард хуйни, которую никто и читать не будет
Фил Ранжин
я решил что похуй, и будет вот так. Так везде на проекте, всем похуй, мне тоже
Фил Ранжин
будем обмазывать вмы валидацией
Éminence grise
С чего бы это? У него же стринги? С какой радости? Что можно сделать не так просетапив стринг?
Фил Ранжин
потому что там по идее не стринги, а энамы должны быть.
Фил Ранжин
и не только энамы
Фил Ранжин
так всё равно придётся валидацию в vm делать
Фил Ранжин
не биндить же Uri к текстбоксу
Éminence grise
А теперь идеологический вопрос - а с чего ты взял в в VM должно быть что то кроме строки?
Фил Ранжин
м?
Éminence grise
Ну VM - это прокладка между попыткой пользователя что то вбить и реальностью, определяемой правилами. Вот с чего ты взял, что маппинг реальности и попвткой - 1::1. В модели строгая типизация, в VM -строка плюс IDataErrorInfo. По соглашению, зависищяму от сценария - в модель.
Фил Ранжин
да, понял тебя. У меня кейс, когда vm-пользователей модели - несколько. Хотелось бы, что бы проверка юзера описывалась один раз. Как устроить?
Éminence grise
Вариантов много, но я пользую чаще всего два - первый - это строгая типизация входов, когда на входе модели ты падаешь. Мне не очень нравится, потому как эксепшен приходится как то прокидывать до IDataErrorInfo. Это то, похоже, что ты хочешь сделать. Второй - модель чистая, а рядом validator для интерфейса, что у тебя описан, например FluentValidator. Только интерфейс этот - ViewModel, а не модель. Таким образом ты как бы изолируешь ошибку ввод от ошибки программиста.
Éminence grise
То есть твой интерфейс - это интерфейс ViewModel. К нему валидатор. А потом метод у модели (статический) - ValidationError Model.TryAssign(viewModel, out model)
Фил Ранжин
ага
Éminence grise
Понял идею?
Éminence grise
Или поподробней?
Éminence grise
Фил Ранжин
во-первых - что такое чистая модель?
Фил Ранжин
просто класс / структура с геттерами и сеттерами?
Éminence grise
Ща накидаю.
Éminence grise
Минут 5 обожди.
Éminence grise
https://gist.github.com/ijsgaus/4e69ce5275ca91860f06322f0c08c457
Вот так как то
Éminence grise
Показал теперь еще и view model
Éminence grise
Там же
Фил Ранжин
Спасибо большое) теперь понял. Так и сделаю
Shub
Елизавета, я дико извиняюсь, но давно хочу спросить: ты замужем уже?
Shub
Не труднее, чем на хаскеле.
Тут объектно озабоченных программистов на F# персадить, уже трагедия вселенского масштаба...
Если бы была возможность, я бы писала на идрисе.
Bonart
Bonart
он самый
Стайлкоп - это не платформа, а кризис в голове того кто это старье продвинул
Фил Ранжин
Фил Ранжин
у нас в тиме несколько джунов
Фил Ранжин
удалёнщиков
Фил Ранжин
хорошо, что есть стайлкоп
Bonart
.editorconfig лучше, но его в ci хз как пихать
Фил Ранжин
у нас и то и то