ук. сот/£отт'(1в1пр И деЬопс - это именно то, что ты всегда хотел: КиЬете1е$ с 6ИИиЬ-£1 в окружени / commitstrip :: Смешные комиксы (веб-комиксы с юмором и их переводы)
Подробнее ук. сот/£отт'(1в1пр И деЬопс - это именно то, что ты всегда хотел: КиЬете1е$ с 6ИИиЬ-£1 в окружении Линукс CommitStrip.com commitstrip,Смешные комиксы,веб-комиксы с юмором и их переводы
Вроде шутка на тему "параллельная вселенная". Ему нашли предложение, которое он просил, а он "не, я тут подумал, я хочу что-то совсем другое, для чего вам придётся искать всё с нуля заново".
Видимо тут реверсивная шутка по поводу разработки в целом. Обычно всё наоборот и заказчик предъявляет к проекту одни требования, а затем добавляет такое, что кардинально меняет суть. В этом случае теперь программист поменял своё желание, а HR всё делать заново. Теперь она познала ту же боль общения с заказчиком. Ну это насколько я понял.
*откашливается* Молодеееееееежь, вот в наше время было принято все делать руками и все отлично работало... а теперь вы ленитесь даже пару строк написать без пачки фреймворков!
То что я писал бы месяцы на чистом JS, с ангуларом или реактом я накидаю за неделю. Также эти всеми нелюбимые фреймворки помогают выйти на немного другой уровень абстракции. А вообще, можно на работу и пешком ходить, но все же ездят на машине или общественном транспорте, да?
И тем не менее, увлекаться либами чрезмерно - зло. Я видел людей, которые на каждый чих искали либу, в которой такое уже сделано. В результате 1. Проект был воистину монструозным. 2. Много времени уходило на разруливание конфликтов версий в зависимостях. 3. Зачастую на адаптацию готового решения из либы уходило больше времени, чем на написание своего. Надо сказать, что красоты коду и особенно конфигурации это никогда не добавляло. 4. Самое вкусное. Баги. Баг в своем коде легко ищется, и легко исправляются. Баги в либе - это гнойный геморрой. И да, увы, их навалом. Даже в самых суперпопулярных фреймворках и либах, которые использует куча людей и которые пишутся топовыми конторами(минутка ненависти: ебанный спринг, сраный netty, блядский tomcat). 5. "А у вас нету такого же, но с перламутровыми пуговицами?". Нечасто, но очень больно. Проект глубоко завязан на использование какой-нибудь либы. И тут в требованиях прилетает изменить функционал. Вроде бы даже и не сильно, но изменение вот никак не предусмотрено этой либой и ее архитектурой(либо вызывает неисправимый баг). И тут либо переписывать вообще все нахуй, или городить титанические костыльные колоссы. 6. Бывает, либа всем хороша, но в ней оказывается бутылочное горлышко по производительности(для highload вообще это очень важный момент, ибо многие библиотеки рассчитаны на крованый b2b энтерпрайз, где всем срать на перформанс). Или просто на некоторых наборах данных не хватает памяти, дескрипторов, портов, и прочей ебени. Разумеется, я не призываю писать всегда велосипеды. Но за подход "да че я писать это буду, вон, ххх это умеет, прикручу его" нужно пиздить. Использовать любое стороннее говнецо, даже популярное и внушающее доверие, можно только при наличии веских причин.
Возможно я немного не в той среде кручусь, но как должно выглядить "на каждый чих искать либу"? Просто обычно выбирают определеный фреймворк (или связку) для реализации всех фич из ТЗ, и уже пляшут в нем. Если в ходе разработки всплывает что "нужно подключить то да се, или же пишем велосипед", то мягко говоря кто-то недоресечил. А про минорные правки превращающие текущее решение в тыкву вообще интересно: человечество стремится делать код максимально модульным, понапридумывало интерфейсы, IoC/DI, микросервиса и прочую лабудень, но код все равно прибивается гвоздями. Странно как-то.
ТАК, ЧТО ТАМ У НАС ТВОРИТСЯ В ЗАХВАТЫВАЮЩЕМ МИРЕ ВЕБ-КОМИКСОВ?.. £91 ^ С. У Д и у \ /1 / ОЛИН ЧЕЛОВЕК РОПСЕНШТИЛЬС/ Я, КАЖЕТСЯ, ПОЗНАЛ ТЩЕТУ БЫТИЯ. ПИСТОЛЕТ В СЛИВНОМ _БАЧКЕ.
Можно перевод ругательства этого наречия на общий или змеиный? :-)
1. Проект был воистину монструозным.
2. Много времени уходило на разруливание конфликтов версий в зависимостях.
3. Зачастую на адаптацию готового решения из либы уходило больше времени, чем на написание своего. Надо сказать, что красоты коду и особенно конфигурации это никогда не добавляло.
4. Самое вкусное. Баги. Баг в своем коде легко ищется, и легко исправляются. Баги в либе - это гнойный геморрой. И да, увы, их навалом. Даже в самых суперпопулярных фреймворках и либах, которые использует куча людей и которые пишутся топовыми конторами(минутка ненависти: ебанный спринг, сраный netty, блядский tomcat).
5. "А у вас нету такого же, но с перламутровыми пуговицами?". Нечасто, но очень больно. Проект глубоко завязан на использование какой-нибудь либы. И тут в требованиях прилетает изменить функционал. Вроде бы даже и не сильно, но изменение вот никак не предусмотрено этой либой и ее архитектурой(либо вызывает неисправимый баг). И тут либо переписывать вообще все нахуй, или городить титанические костыльные колоссы.
6. Бывает, либа всем хороша, но в ней оказывается бутылочное горлышко по производительности(для highload вообще это очень важный момент, ибо многие библиотеки рассчитаны на крованый b2b энтерпрайз, где всем срать на перформанс). Или просто на некоторых наборах данных не хватает памяти, дескрипторов, портов, и прочей ебени.
Разумеется, я не призываю писать всегда велосипеды. Но за подход "да че я писать это буду, вон, ххх это умеет, прикручу его" нужно пиздить. Использовать любое стороннее говнецо, даже популярное и внушающее доверие, можно только при наличии веских причин.