|
|
|
Сторонние компоненты или свой велосипед?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Вот интересует такой вопрос... Разрабатывая с нуля более-менее большое приложение, зачастую приходится сталкиваться с типовыми задачами, которые явно были уже решены другими командами разработчиков. Например, в веб часто приходится делать модальные окна. Или постраничную разбивку результатов в таблице. Или, более сложный пример, маппинг объектов на структуры в БД. Не беря во внимание возможность купить/наличие купленных компонентов, вашего опыта и сложности задачи, как вы поступаете чаще? 1) Ищете в Инете то, что подходит для текущей задачи - скачиваете и используете (если подходит). Со временем вы становитесь знатоком того, что и где можно найти и как применить, заимствовать, украсть:). Т.е. вы видите задачу и сразу думаете: "тут я возьму контролы от ***, тут прикручу jQuery, а про релизацию асинхронново fileUpload тот человек писал в свое Блоге - скачаю у него" 2) Вас не пугает изобретение велосипеда и вы создаете свои модули - при этом, вероятно, вы глубже осваиваете какую-то технологию + можно организовать свой набор "кирпичиков" на все случаи жизни и модифицировать по мере необходимости. Т.е. подход: "тут я покопаюсь и изучу, как это реализуется, здесь я уже представляю, что и как кодить нужно, вперед в работу!" Я пока чаще реализую сам, т.к. очень часто (но не всегда) сторонние компоненты не подходили из-за отсутствия пары очень нужных функций, которые все равно приходилось прикручивать, или же время на освоение всех тонкостей было сопоставимо со временем разработки чего-то своего... Да и сам по себе имею тягу к разработки чего-то своего:) Разумеется, речь не идет о собственных реализациях, того, что предоставляет ваш фреймворк/среда разработки и т.д., например, реализация обычных кнопок - явный лишняя вещь (хотя, несомненно, позволит хорошо изучить, например, WinAPI :) ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2011, 10:57 |
|
||
|
Сторонние компоненты или свой велосипед?
|
|||
|---|---|---|---|
|
#18+
работая с чужим инструментом легче поранить себя (с) приблизительно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2011, 11:21 |
|
||
|
Сторонние компоненты или свой велосипед?
|
|||
|---|---|---|---|
|
#18+
donkey80, Использую сторонние библиотеки, если: 1) Библиотека хорошо документирована 2) Библиотека имеет идет с сорцами 3) Не содержит багов и не вылетает в неожиданных местах 4) Реализует весь необходимый функционал 5) Не имеет большого объема лишнего функционала 6) Проста в освоении Если не выполняются эти пункты, то использовать такую библиотеку - себе дороже, легче написать велосипед, или поискать другую либу или перепилить библиотеку на свой лад. А вообще в каждом конкретном случае нужно исходить из здравого смысла. Например, если необходимо реализовать сложный (или вообще уникальный) математический алгоритм, то конечно нужно использовать готовые решения. Допил их под себя займет меньше времени чем написание с нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2011, 11:47 |
|
||
|
Сторонние компоненты или свой велосипед?
|
|||
|---|---|---|---|
|
#18+
donkey80как вы поступаете чаще? Оба подхода плохи, но собственное написание хотя бы теоретически может привести к хорошему результату. Нормальный подход - когда выясняется потребность в том или ином решении, прежде всего собрать информацию о возможных способах и существующих реализациях. Далее, если есть хорошая реализация - использовать (редкий случай), если есть приличная реализация - доработать до хорошей и использовать (нередкий случай), если адекватных реализаций нет - сделать самому, вдохновившись отдельными моментами других реализаций (нередкий случай). Результат включить в библиотеку и бить по рукам того, кто в следующий раз попробует "откуда-нибудь скачать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2011, 13:58 |
|
||
|
Сторонние компоненты или свой велосипед?
|
|||
|---|---|---|---|
|
#18+
свой код пишу только в крайнем случае, и все ранее написанные велосипеды по мере возможности стараюсь удалять и заменять опенсорцными библиотеками. причины: 1) лень 2) чистая прагматика: даже если время на освоение библиотеки будет больше, чем написание чего-то своего, это окупится в следующих проектах с лихвой. 3) гораздо меньше кода 4) легче тестировать и сопровождать "Вас не пугает изобретение велосипеда и вы создаете свои модули - при этом, вероятно, вы глубже осваиваете какую-то технологию + можно организовать свой набор "кирпичиков" на все случаи жизни и модифицировать по мере необходимости" если подумать хорошо и прикинуть в уме, то станет понятно, что в одиночку написать более-менее нормальный велосипед, который можно будет использовать в любом проекте, унифицировать, документировать, оттестировать и т.д. - в приемлемый срок нереально и в этом нет никакого смысла если такая работа уже была кем-то сделана. про "кирпичики" на все случаи жизни даже не упоминаю - в одиночку это нереально. пример кирпичиков - http://commons.apache.org/ - там трудоемкость десятки человеколет + оттестировано тысячами разработчиками за годы использования. если я где-то встречаю что-либо, что можно заменить методами из коммонсов, я это делаю. но коммонсы еще ладно, свой парсер командной строки или там свой файл аплоадер еще как-то можно понять. но когда человек начинает писать собственный орм, ioc-контейнер, аналог jquery или даже компилятор (видел и такое) - это, по-моему, клиника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2011, 13:58 |
|
||
|
Сторонние компоненты или свой велосипед?
|
|||
|---|---|---|---|
|
#18+
Если бы вопрос был задан лет 10-15 назад... А сейчас, как бы не хотелось написать свой велосипед при каждой надобности, а это нереально. Либо же нанять сотни разрабов. С каждым годом обойтись без использования сторонних компонент все тяжелее. Так что, тут алгоритм скорее такой: ищем варианты готовых решений, анализируем их, отбрасываем такие, с которыми очевидно времени уйдет не меньше чем самим писать, принимаем решение по оставшимся. В случае небольших велосипедиков пишем сами, в случае чего-то трудоемкого, если заменить совсем уж нечем - выносим на общий совет, как поступить - юзать и допиливать под себя не очень то красиво нописанное чужое или внести в проект бюджет и время для создания собственного аналога или заказа на стороне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2011, 14:05 |
|
||
|
Сторонние компоненты или свой велосипед?
|
|||
|---|---|---|---|
|
#18+
Не профессиональный программист, делаю что то, только если интересно поковыряться или нужно для оптимизации работы. Обычно использовал свободно доступные компоненты, но вот в последний раз отказался от компонентов, и написать свой для того, чтобы иметь возможность пользоваться сразу на всех вариациях компилятора Object Pascal ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2011, 14:00 |
|
||
|
|

start [/forum/topic.php?fid=16&gotonew=1&tid=1343190]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
12ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 511ms |

| 0 / 0 |
