В результате - слишком много возни, когда нужно не только круд-операции делать.
Дополнительно, когда происходит разделение фронтенда и бекенда на самостоятельные приложения, возникает желание - не как в базе отдавать, а так как надо фронтенду. Ну и тут - вообще такая пляска начинается с мапперами, валидаторами и т.д.
Но таки не считаю этот подход прям плохим-плохим. Если все простыми крудами ограничивается - почему нет?
Зачем доводить рутину до конца, если тебе уже не интересно?
Серьезно не понимаю, что мне это даст, если я уже понял, что идея - фигня, времени, чтобы отполировать - надо 10к человекочасов (а я - один, внезапно), да и на работе - я и так 8-10 часов в день - с кодом работаю.
Да даже если про реальные продукты а не петы. Вот вы начали разработку, в процессе - выяснили, то же самое. Проект - не взлетит, хоть вы все волосы на себе порвите. Будем до победного добивать, чтобы протранжирить не 1млн, а 100млн, и по итогу все равно закрыть проект как нерентабельный?
Было бы интересно посмотреть на многоуровневую сортировку и группировку. На всякий случай объясняю: 1. Возможность передать список полей/свойств по которым нужно отсортировать. 2. Возможность передать список полей/свойств по которым нужно сгруппировать. Группировка многоуровневая, т.е. условно, у продукта есть свойства категория, тип, остальные свойства, мы ходим сначала сгруппировать по типу, а дальше - по категории.
Оп. Нам в лицо не удалось получить ответ за установленный таймаут. Ошибка? Ну да. Падаем? В большинстве реальных случаев - можем попытаться еще раз переподключиться. Ну или сообщить об этом и предложить пользователю решать, что дальше делать.
О. Или вообще. Мы сервер. К нам подключились. Все нормально, начали сессию. Вот, пробуем читать - у клиента вырубили свет, мы получили 10054. Чего делать? Паниковать и падать? Или просто обработать это, закрыть сессию и обслуживать других клиентов?
Ну. Просто я не знаю. Если на каждую ошибку падать - как-то не очень круто это будет.
Я конечно не за то, чтобы втихую продолжать работу, когда у вас там полный бардак и система пришла в неработоспособное состояние. Ну а Assert'ы при отладке и так вроде как все используют. Другое дело часто этого не достаточно.
Допустим, мне как человеку, который в свое время коды которые XP выдавал на БСОДах - может быть и было бы интересна причина и прочее, но ведь на самом деле - абсолютное большинство рядовых пользователей - это не интересует. Никто не будет пытаться понять причину и починить, максимум на который можно рассчитывать - перезагрузка чего-нибудь. Дальше пользователю эти свистопляски с бубнами - не интересны. Если ваша программулина не заведется после перезагрузки - он пожалуется где-нибудь и найдет другую. А для сбора багов - проще использовать телеметрию. Пользователь - может врать, неосознанно. Телеметрия - не врет.
Относительно моего опыта по активности рекрутинга.
3 года опыта. Добавил недавно теги в резюме на HH (ну, изучил же я что-то за год, надо обновить резюме). Больше ничего не делал. За неделю 4 предложения пройти собес.
Можно поинтересоваться? Как без гугла писать из головы, если это новая для вас технология?
Ну, вот так уж случилось страшно, вы писали на Java 5(ну вот угораздило вас в легаси влезть). 10 лет писали. Из головы писали. Вот, вас просят на котлин. Уже сейчас. Что будете из головы делать? Лезть смотреть что там за промежуточный код генерируется? Увольняться и идти знания восполнять? А кушать что?
Просто мне действительно интересно. Потому что я почему-то всегда считал, что хороший программист - это тот кому не нужно вот такие вещи в голове держать, ведь у него есть общее понимание о методологии разработки, архитектуре, паттернах всяких, а специфику - как раз и загуглить можно.
Помню делал что-то такое, давно.
В результате - слишком много возни, когда нужно не только круд-операции делать.
Дополнительно, когда происходит разделение фронтенда и бекенда на самостоятельные приложения, возникает желание - не как в базе отдавать, а так как надо фронтенду. Ну и тут - вообще такая пляска начинается с мапперами, валидаторами и т.д.
Но таки не считаю этот подход прям плохим-плохим. Если все простыми крудами ограничивается - почему нет?
Зачем доводить рутину до конца, если тебе уже не интересно?
Серьезно не понимаю, что мне это даст, если я уже понял, что идея - фигня, времени, чтобы отполировать - надо 10к человекочасов (а я - один, внезапно), да и на работе - я и так 8-10 часов в день - с кодом работаю.
Да даже если про реальные продукты а не петы. Вот вы начали разработку, в процессе - выяснили, то же самое. Проект - не взлетит, хоть вы все волосы на себе порвите. Будем до победного добивать, чтобы протранжирить не 1млн, а 100млн, и по итогу все равно закрыть проект как нерентабельный?
Об AutoMapper же
Было бы интересно посмотреть на многоуровневую сортировку и группировку.
На всякий случай объясняю:
1. Возможность передать список полей/свойств по которым нужно отсортировать.
2. Возможность передать список полей/свойств по которым нужно сгруппировать. Группировка многоуровневая, т.е. условно, у продукта есть свойства категория, тип, остальные свойства, мы ходим сначала сгруппировать по типу, а дальше - по категории.
Хм.
А как быть с таким вот случаем:
Подключились к серверу через сокет
Послали запрос. Все ок.
Получили ответ. Тоже все ок.
Шлем следующий.
Оп. Нам в лицо не удалось получить ответ за установленный таймаут.
Ошибка? Ну да. Падаем? В большинстве реальных случаев - можем попытаться еще раз переподключиться. Ну или сообщить об этом и предложить пользователю решать, что дальше делать.
О. Или вообще. Мы сервер. К нам подключились. Все нормально, начали сессию. Вот, пробуем читать - у клиента вырубили свет, мы получили 10054. Чего делать? Паниковать и падать? Или просто обработать это, закрыть сессию и обслуживать других клиентов?
Ну. Просто я не знаю. Если на каждую ошибку падать - как-то не очень круто это будет.
Я конечно не за то, чтобы втихую продолжать работу, когда у вас там полный бардак и система пришла в неработоспособное состояние.
Ну а Assert'ы при отладке и так вроде как все используют. Другое дело часто этого не достаточно.
Ну не знаю.
Допустим, мне как человеку, который в свое время коды которые XP выдавал на БСОДах - может быть и было бы интересна причина и прочее, но ведь на самом деле - абсолютное большинство рядовых пользователей - это не интересует. Никто не будет пытаться понять причину и починить, максимум на который можно рассчитывать - перезагрузка чего-нибудь. Дальше пользователю эти свистопляски с бубнами - не интересны. Если ваша программулина не заведется после перезагрузки - он пожалуется где-нибудь и найдет другую.
А для сбора багов - проще использовать телеметрию. Пользователь - может врать, неосознанно. Телеметрия - не врет.
Просто мое мнение. Вот.
Относительно моего опыта по активности рекрутинга.
3 года опыта. Добавил недавно теги в резюме на HH (ну, изучил же я что-то за год, надо обновить резюме). Больше ничего не делал. За неделю 4 предложения пройти собес.
По ощущениям, было +- так же.
Можно поинтересоваться?
Как без гугла писать из головы, если это новая для вас технология?
Ну, вот так уж случилось страшно, вы писали на Java 5(ну вот угораздило вас в легаси влезть). 10 лет писали. Из головы писали. Вот, вас просят на котлин. Уже сейчас.
Что будете из головы делать? Лезть смотреть что там за промежуточный код генерируется? Увольняться и идти знания восполнять? А кушать что?
Просто мне действительно интересно. Потому что я почему-то всегда считал, что хороший программист - это тот кому не нужно вот такие вещи в голове держать, ведь у него есть общее понимание о методологии разработки, архитектуре, паттернах всяких, а специфику - как раз и загуглить можно.