tgoop.com/reinforced_sc/28
Last Update:
Велосипеды
Ну что, кому жопку подпалить? :)
Короче. Вы как хотите, но я считаю что велосипеды надо нормализовать. Особенно если они очень маленькие и помещаются в 2-3 класса. Душнилы заорут, мол, "ааааа!!! только не велосипед! переиспользуй готовое! нееет это не каммунити-прувен!".
"Пионэры," — говорю я душнилам — "идите в жопу!".
Типичный душнила склонен тыкать пальцем в 200 строк кода и орать "о господи велосипеееееед!!!". Называть себя разработчиком после такого — это как вообще? Слушай, чел, там код. На языке, который ты знаешь. Это даже не зоопарк технологий — если велосипед делаю я, то всё написано ровно на том же языке, что и основная система. Берёшь, открываешь и читаешь. Или у нас глазонек нет?
А взять какое-нибудь говно из npm. Ты ж даже не знаешь кто это написал. А даже если бы и знал - кто тебе сказал что квалификация автора либы выше твоей/моей/чьей-либо? Вдруг там внутри как в секторе Газа? А автор "велосипеда", в который ты тыкаешь пальцем всё ещё сидит с тобой рядом, умеет говорить ртом, писать текст и комментарии к коду руками, а так же разбирается во всём написанном мозгом.
А вот, скажем, поддержка. Ребят, ну я был "по ту сторону опенсорса". Я сам мейнтейню библиотеку. Любой мейнтейнер может культурно отправить вас нахуй со всеми вопросами и багрепортами. Никто никому ничего не должен, читай лицензию. И потом, мейнтейнер — тоже человек. У него могут быть тысячи причин не заниматься проектом. Не говоря уже о том, что мейнтейнера может тупо сбить автобус. У меня был реальный случай, когда пришлось перетаскивать копипастом в проект JS-библиотеки, которые не заапдейтились под новую версию реакта. Мейнтейнеры просто забили на них хуй. Не знаю что у них там произошло — женились может, или работу сменили. Надеюсь что всё-таки автобус.
Что же теперь? Пользоваться библиотеками, за которыми стоят крупные корпорации и над которыми люди работают за зарплату? Да, имеет смысл. Но есть нюанс: большие корпорации делают огромные и сложные библиотеки на все случаи жизни. Не факт что они нужны вам целиком. Я об этом позже развёрнуто напишу. А пока скажу только что видел, как люди ставят себе целый мультитул-фреймворк ради одной-единственной функции. Никита Прокопов негодуэ!
А ещё установка готового пакета не бесплатна: лишние строчки в файлах проектов, лишние конфиги, лишнее время на скачивание, лишние байты в релизной сборке. Умножайте на 100-200 билдов CI в день для норм такого проекта. Курочка-то по зёрнышку клюёт. Пришло на проект 50 Василиев и каждый добавил по маааленькому пакетику. Вроде ничего криминального, а вся система начинает собираться как дирижабль.
Короче, от установки пакета тоже есть свой оверхед. Только он не моментально даёт вам в рожу, а так... Системно и с оттяжечкой. Проблемой это становится ВНЕЗАПНО.
В общем, то, что можно написать самому в рамках рабочего дня - я пишу сам. Сходить в исходники требуемой либы и просто скопипастить нужный код - так же норм.
Делаю ли я велосипеды? Несомненно. Только вот мои велосипеды всегда прекрасно и быстро работали, были всем понятны и не требовали сношений с настройкой (что регулярно встречается у 3rd-party либ). Будь я Филом — я бы сказал что я просто охуенен, но всё проще: при разработке я думаю головой, а не жопой. Всем бы так — и не будет печали.
Такие дела
P.S: На днях прочитал отличное: "а чтобы делать свои велосипеды тебе нужна лицензия от министерства магии".
BY Novikov on Soapbox
Share with your friend now:
tgoop.com/reinforced_sc/28