Comments 19
Да, умничать тут любят.
А где это вам такое насоветовали? Помниться, сколько ни читал обсуждения - везде народ за написание своего кода, также многие не приемлют чужой код впринципе. Даже, сколько не код, а время его разобра.
Всё хорошо - в меру, и написание своих "велосипедов" - тоже. Но вот парадокс, в долгосрочной перспективе, написание своих "велосипедов" может здорово помочь! За счёт повышения квалификации разработчика. Да, доскональное знание собственного кода - это тоже плюс, но квалификация, новые знания и умения, они, я считаю, куда важнее.
Согласитесь, нельзя назвать человека настоящим профессионалом, если он не понимает, а как изнутри работает то, что он делает. Но откуда берутся такие познания? А всё оттуда же. От написанного когда-то, своими ручками, типового алгоритма чего-то-там-сложного, от самописных фреймворков всех мастей и т.п. И пусть даже потом человек вернётся к готовому и проверенному стороннему коду - он всё равно будет куда лучше понимать, КАК оно работает! И людей, таких всегда ох как не хватает!
Так что да здравствуют велосипеды, и профессионалы, которые на них вырастают!
Согласитесь, нельзя назвать человека настоящим профессионалом, если он не понимает, а как изнутри работает то, что он делает. Но откуда берутся такие познания? А всё оттуда же. От написанного когда-то, своими ручками, типового алгоритма чего-то-там-сложного, от самописных фреймворков всех мастей и т.п. И пусть даже потом человек вернётся к готовому и проверенному стороннему коду - он всё равно будет куда лучше понимать, КАК оно работает! И людей, таких всегда ох как не хватает!
Так что да здравствуют велосипеды, и профессионалы, которые на них вырастают!
"Согласитесь, нельзя назвать человека настоящим профессионалом, если он не понимает, а как изнутри работает то, что он делает."
Если так рассуждать, то начинать нужно с написания ОС, потом библиотек, потом фреймворка.. Вполне реально, только не нужно.
Если так рассуждать, то начинать нужно с написания ОС, потом библиотек, потом фреймворка.. Вполне реально, только не нужно.
Вы уже утрируете. Каждому человеку не мешало бы знать, что кровь его течёт благодаря работе сердца. Если он знает, как устроено сердце - тоже хорошо. А вот знать, какая цепочка химических реакций идёт к образованию аденозинтрифосфорной кислоты - это уже совсем лишнее, возможно даже для кардиохирурга.
+1 :) хоте нет, сначала компьютер нужен свой, а перед этим монтажная плата с микросхемами и транзистор бы свой сделать, а то что за программист, который не знает элементарной базы и КМОП логики :)
С другой стороны, разбираясь с чужим хорошо написанным кодом, разработчик ещё быстрее поднимет свою квалификацию, так как будет видеть как нужно писать.
а отчего же вы не написали тогда свой шаблонизатор, а использовали "чужой велосипед"? Не я просто не наезжаю, но всегда известно что написано только для чего-то и работает быстрее и выглядит лучше, а вот то что написано для общего использования всего будет кому-то не нравится.
И как сказал мой один очень хороший друг - для того что бы понять, что использовать фреймворки (читай чужие коды) хорошо, надо попробовать написать свой.
И как сказал мой один очень хороший друг - для того что бы понять, что использовать фреймворки (читай чужие коды) хорошо, надо попробовать написать свой.
У меня свой, и чужие использовать не хочу :)
У вас в статье написано что Smarty, он ваш? Завидую.
Smarty это только шаблонизатор. Единственная "чужая" вещь, уж больно он хорош :)
Вы рассматриваете задачи со временем исполнения, не превышающим одного рабочего дня. Для них утверждение, в принципе, верно (но тоже не без исключений), но вот что-либо большее писать самому просто нерентабельно (тот же шаблонизатор, cms, фреймворк). Поэтому ваше утверждение катит только для всевозможных мелочей, которые, как правило, уже имеются под рукой у опытного разработчика, и закинуть их в проект - минутное дело. Но если у разработчика опыта не так много - то написание таких мелочей очень неплохо подтягивает общий уровень.
раз на раз не приходится. Что то лучше переписывать, что то лучше понять целиком и подкорректировать под свои нужды. Вопрос: неужели это не ясно даже без обсуждений? =)
Давай добавим сюда пару уточнений, чтобы было честнее:
1) В коде важна не только стоимость его создания, но и стоимость поддержки. Если ты работаешь не один, то изобретенные велосипед еще нужно задокументировать, позаботиться об обратной совместимости, если найдется баг и его нужно будет в старых проектах поправить тоже... Да, в конце концов, новых людей в комманде нужно будет ему научиться. А то все уже гораздо сложнее чем просто "написать свой код".
2) Никто и не говорит, что всегда надо использовать чужой код, ведь чужой код не всегда хороший. Например, смарти написан через жопу, это не секрет. Не уверен, но подозреваю что пейджер для него сделан через то же место. Но это вовсе не означает, что тот же mootools тоже написан криво.
3) Всегда ли ты внимательно читаешь документацию по 3rdparty-продукту прежде чем его нестандартно использовать? Задаешь ли ты вопросы автором фреймворках в форумах/гуглгруппах/чатах? Если нет тогда и винить их не стоит.
1) В коде важна не только стоимость его создания, но и стоимость поддержки. Если ты работаешь не один, то изобретенные велосипед еще нужно задокументировать, позаботиться об обратной совместимости, если найдется баг и его нужно будет в старых проектах поправить тоже... Да, в конце концов, новых людей в комманде нужно будет ему научиться. А то все уже гораздо сложнее чем просто "написать свой код".
2) Никто и не говорит, что всегда надо использовать чужой код, ведь чужой код не всегда хороший. Например, смарти написан через жопу, это не секрет. Не уверен, но подозреваю что пейджер для него сделан через то же место. Но это вовсе не означает, что тот же mootools тоже написан криво.
3) Всегда ли ты внимательно читаешь документацию по 3rdparty-продукту прежде чем его нестандартно использовать? Задаешь ли ты вопросы автором фреймворках в форумах/гуглгруппах/чатах? Если нет тогда и винить их не стоит.
Sign up to leave a comment.
Про использование чужого кода. Плагин «пейджер» для smarty.