Roman
так он уже дохода больше приносит чем расходов у вас?
Ну да, это ж новая версия сайта, через который продаем все. Старой версии уже нет)
Roman
И потом, я не очень понимаю, при чем тут это
Vladimir
Ну да, это ж новая версия сайта, через который продаем все. Старой версии уже нет)
ага, понятно, значит это посути проект старый, но вы переписали все) это рабочая схема
Tako
работаю там где сам пишу легаси
ты же вроде на фарше работаешь? писать на фарше легаси это что-то новенькое
Vladimir
И потом, я не очень понимаю, при чем тут это
при том что хочется и зп и технологий, и вот у вас как раз тот кейс когда два в одном можно заполучить)
Vladislav
Roman
а как понять "соответствует предметной области"?
Ну короч, под говнокодом/легаси я имею ввиду код, в который тяжело вносить изменения, будь то новые фичи или багфикс. Причем такой код может быть написан в соответствии с паттернами, лучшими практиками и тд и тп, на модных технологиях лучших домов Лондона и Парижа, но, например, добавить новое поле (и протащить его по всей системе без багов) в какую-то сущность тяжело, пушто это затрагивает какие-то неожиданные вещи. Такой код часто получается не потому, что программисты технически слабые, а потому что они оторваны от бизнесовой части проекта или им на нее похуй. Они пишут какие-то бесконечные фреймворки общего назначения, инфраструктурные библиотеки, кастомные билд системы, преждевременно масштабируют систему — словом, решают какие-то надуманные задачи, а не те, которые реально стоят перед бизнесом. Вот это я называю кодом, оторванным от предметной области. И напротив, если читая код легко понять бизнес-логику и домен в целом, в нем есть только необходимый минимум инфраструктуры и тд — это код, который хорошо соответствует предметной области.
Tako
Ну короч, под говнокодом/легаси я имею ввиду код, в который тяжело вносить изменения, будь то новые фичи или багфикс. Причем такой код может быть написан в соответствии с паттернами, лучшими практиками и тд и тп, на модных технологиях лучших домов Лондона и Парижа, но, например, добавить новое поле (и протащить его по всей системе без багов) в какую-то сущность тяжело, пушто это затрагивает какие-то неожиданные вещи. Такой код часто получается не потому, что программисты технически слабые, а потому что они оторваны от бизнесовой части проекта или им на нее похуй. Они пишут какие-то бесконечные фреймворки общего назначения, инфраструктурные библиотеки, кастомные билд системы, преждевременно масштабируют систему — словом, решают какие-то надуманные задачи, а не те, которые реально стоят перед бизнесом. Вот это я называю кодом, оторванным от предметной области. И напротив, если читая код легко понять бизнес-логику и домен в целом, в нем есть только необходимый минимум инфраструктуры и тд — это код, который хорошо соответствует предметной области.
очень круто описал,спасибо!
Mikhαil
Ну короч, под говнокодом/легаси я имею ввиду код, в который тяжело вносить изменения, будь то новые фичи или багфикс. Причем такой код может быть написан в соответствии с паттернами, лучшими практиками и тд и тп, на модных технологиях лучших домов Лондона и Парижа, но, например, добавить новое поле (и протащить его по всей системе без багов) в какую-то сущность тяжело, пушто это затрагивает какие-то неожиданные вещи. Такой код часто получается не потому, что программисты технически слабые, а потому что они оторваны от бизнесовой части проекта или им на нее похуй. Они пишут какие-то бесконечные фреймворки общего назначения, инфраструктурные библиотеки, кастомные билд системы, преждевременно масштабируют систему — словом, решают какие-то надуманные задачи, а не те, которые реально стоят перед бизнесом. Вот это я называю кодом, оторванным от предметной области. И напротив, если читая код легко понять бизнес-логику и домен в целом, в нем есть только необходимый минимум инфраструктуры и тд — это код, который хорошо соответствует предметной области.
Жирнейший плюс
Stas
Ну короч, под говнокодом/легаси я имею ввиду код, в который тяжело вносить изменения, будь то новые фичи или багфикс. Причем такой код может быть написан в соответствии с паттернами, лучшими практиками и тд и тп, на модных технологиях лучших домов Лондона и Парижа, но, например, добавить новое поле (и протащить его по всей системе без багов) в какую-то сущность тяжело, пушто это затрагивает какие-то неожиданные вещи. Такой код часто получается не потому, что программисты технически слабые, а потому что они оторваны от бизнесовой части проекта или им на нее похуй. Они пишут какие-то бесконечные фреймворки общего назначения, инфраструктурные библиотеки, кастомные билд системы, преждевременно масштабируют систему — словом, решают какие-то надуманные задачи, а не те, которые реально стоят перед бизнесом. Вот это я называю кодом, оторванным от предметной области. И напротив, если читая код легко понять бизнес-логику и домен в целом, в нем есть только необходимый минимум инфраструктуры и тд — это код, который хорошо соответствует предметной области.
схоронил
Михаил
А так должно быть? Почему не может вывести тип?
Михаил
Ayrat
Ну короч, под говнокодом/легаси я имею ввиду код, в который тяжело вносить изменения, будь то новые фичи или багфикс. Причем такой код может быть написан в соответствии с паттернами, лучшими практиками и тд и тп, на модных технологиях лучших домов Лондона и Парижа, но, например, добавить новое поле (и протащить его по всей системе без багов) в какую-то сущность тяжело, пушто это затрагивает какие-то неожиданные вещи. Такой код часто получается не потому, что программисты технически слабые, а потому что они оторваны от бизнесовой части проекта или им на нее похуй. Они пишут какие-то бесконечные фреймворки общего назначения, инфраструктурные библиотеки, кастомные билд системы, преждевременно масштабируют систему — словом, решают какие-то надуманные задачи, а не те, которые реально стоят перед бизнесом. Вот это я называю кодом, оторванным от предметной области. И напротив, если читая код легко понять бизнес-логику и домен в целом, в нем есть только необходимый минимум инфраструктуры и тд — это код, который хорошо соответствует предметной области.
Ну ты прям Роман в корню зришь
Shub
Ну ты прям Роман в корню зришь
Я знаю один проект, на котором была другая крайность — решали ТОЛЬКО задачи бизнеса, причем непосредственно сегодняшние и только. Ты тоже мог с ним познакомиться, только почему-то заднюю включил
Ayrat
И сто пицот видов ДУ чтобы их матчить с другими ДУ бесконечно
Ayrat
Ну то есть тут люди делали себе хорошо скорее
Ilya
Ну короч, под говнокодом/легаси я имею ввиду код, в который тяжело вносить изменения, будь то новые фичи или багфикс. Причем такой код может быть написан в соответствии с паттернами, лучшими практиками и тд и тп, на модных технологиях лучших домов Лондона и Парижа, но, например, добавить новое поле (и протащить его по всей системе без багов) в какую-то сущность тяжело, пушто это затрагивает какие-то неожиданные вещи. Такой код часто получается не потому, что программисты технически слабые, а потому что они оторваны от бизнесовой части проекта или им на нее похуй. Они пишут какие-то бесконечные фреймворки общего назначения, инфраструктурные библиотеки, кастомные билд системы, преждевременно масштабируют систему — словом, решают какие-то надуманные задачи, а не те, которые реально стоят перед бизнесом. Вот это я называю кодом, оторванным от предметной области. И напротив, если читая код легко понять бизнес-логику и домен в целом, в нем есть только необходимый минимум инфраструктуры и тд — это код, который хорошо соответствует предметной области.
Clr то оказывается легаси
Крылатый
это больно.
Ilya
Ну короч, под говнокодом/легаси я имею ввиду код, в который тяжело вносить изменения, будь то новые фичи или багфикс. Причем такой код может быть написан в соответствии с паттернами, лучшими практиками и тд и тп, на модных технологиях лучших домов Лондона и Парижа, но, например, добавить новое поле (и протащить его по всей системе без багов) в какую-то сущность тяжело, пушто это затрагивает какие-то неожиданные вещи. Такой код часто получается не потому, что программисты технически слабые, а потому что они оторваны от бизнесовой части проекта или им на нее похуй. Они пишут какие-то бесконечные фреймворки общего назначения, инфраструктурные библиотеки, кастомные билд системы, преждевременно масштабируют систему — словом, решают какие-то надуманные задачи, а не те, которые реально стоят перед бизнесом. Вот это я называю кодом, оторванным от предметной области. И напротив, если читая код легко понять бизнес-логику и домен в целом, в нем есть только необходимый минимум инфраструктуры и тд — это код, который хорошо соответствует предметной области.
Чтобы в коде писать только понятную бизнес логику, для этого должна быть соответствующая инфраструктура в коде. Замкнутый круг?
Ilya
Да, точно. Обмазать все агрегатами на декораторах, без них никуда
Ну ты же наверное хочешь, чтобы у тебя сервис был в докере, например
Ilya
И на коре
Ilya
И следовал ресту
Ilya
Почему?
Ты спроси у Егора, какой там порог вхождения
Roman
Не, может и легаси, только я тогда не понял, к чему ты это поднял
Shub
Я бы не сказал что бизнесу нужны были стрелки в коде
Ну там кто-то решил бизнесовую проблему срелками, совершенно не заботясь, что под них нет инфраструктуры. Баланс важен
Ilya
Не, может и легаси, только я тогда не понял, к чему ты это поднял
Я это написал, потому что он подходит под критерий легаси
Ilya
Хотя он просто очень сложный
Ilya
Потому что решает сложную задачу
Roman
Ну значит легаси, чё поделать
Roman
Ну там кто-то решил бизнесовую проблему срелками, совершенно не заботясь, что под них нет инфраструктуры. Баланс важен
Так там у вас парни решали надуманную задачу, которая бизнесу не нужна. Городили свое лютое псевдо фп
Ilya
Так там у вас парни решали надуманную задачу, которая бизнесу не нужна. Городили свое лютое псевдо фп
А что за проект, настолько широко известный, что его можно не упоминать?
Ilya
Воландеморт?
Roman
В Джет, теперь волмарт ага
Ilya
Jet, который был куплен волмартом.
Vasily
При чем тут каргокульт?
Vasily
В виде обмазывания говно сервисами?
Ilya
Ilya
Не понял ща потока мыслей
Ilya
Я написал к тому, что совсем без сервисного кода никуда
Ilya
Но безусловно нужно соблюдать баланс и писать инфраструктуру для бизнеса, а не на оборот
Vasily
Ща тебе дедушка пояснит за архитектуру
Ilya
Ну и с критерием, что Легаси это то, что очень сложно менять в принципе соглашусь, но тогда и clr подпадает под этот критерий
Shub
Так там у вас парни решали надуманную задачу, которая бизнесу не нужна. Городили свое лютое псевдо фп
Они апишечку писали для бизнеса, строго по требованию бизнеса. То есть они до такой степени заточились под запросы бизнеса, что вообще не думали про ортогональность апишечки, про протоколы. В результат там навалом кода типа HTTP.replyOkWithBody error |> string
Roman
Но безусловно нужно соблюдать баланс и писать инфраструктуру для бизнеса, а не на оборот
ну я ж сразу и написал про минимум инфраструктурного кода. Тащем-та ничего плохого в докере в этом смысле не вижу — если его использование действительно упрощает/ускоряет разработку.
Roman
Ну и с критерием, что Легаси это то, что очень сложно менять в принципе соглашусь, но тогда и clr подпадает под этот критерий
подпадает. Более того, некоторые языки в принципе способны порождать только легаси, когда речь идет о крупных проектах
Roman
Что не означает, что в этих языках скилл разработчика неважен. Просто даже самые лучшие спецы будут писать код, в котором тяжело контролировать изменения.
Ilya
ну я ж сразу и написал про минимум инфраструктурного кода. Тащем-та ничего плохого в докере в этом смысле не вижу — если его использование действительно упрощает/ускоряет разработку.
Вот смотри, у тебя новый проект, тебе нужно написать http сервис без авторизации и аутентификации который складывает 2 числа. И можно написать на http listener, а можно взять аспнет кор. Что ты в данном случае выберешь?
Ilya
Как ты понял - аспнет это и есть инфраструктура, правда написана не тобой
EgorBo
чё брать в итоге?
Ilya
чё брать в итоге?
Да хуй его знает
EgorBo
а ок
Ilya
Я бы кор взял
EgorBo
а я бы светлого нефильтрованного взял
Vasily
Пивка норм,да
Vasily
Но тёмного
Vasily
Стаута
Mikhαil
чё брать в итоге?
Ф шарп очевидно
Vasily
С фшарпом говнокода поменьше, конечно
Vasily
Хотя тоже можно накрутить
Ilya
чё брать в итоге?
Хотя не, я кстати взял лисенер в реальном проекте
EgorBo
Хотя не, я кстати взял лисенер в реальном проекте
не мог взять обычный сокет и хттп протокол реализовать?
Mikhαil
Хотя не, я кстати взял лисенер в реальном проекте
Я для подобного кейса ноду брал (но ограничений по платформе не было)
Ilya
Но там надо было сделать эндпоинт хелсчеков консула
Ilya
не мог взять обычный сокет и хттп протокол реализовать?
Там кода надо 1000 строк, а тут 20 строк и погнали
Ilya
Работает везде
Vasily
На фшарпе 5 будет
Vasily
Думаю
Vasily
Или 6, если буквально переписывать