Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
http://www.rusdoc.ru. Версия для печати.

Изобретайте велосипед часто

Раздел: Programming / Теория разработки @ 19.09.2010 | Ключевые слова: велосипед

Автор: bems
Источник: habrahabr


«Просто используйте то, что существует — это глупо, изобретать колесо...»

Вы когда-нибудь это слышали в том или ином виде? Конечно, слышали! Каждый разработчик и студент часто слышит нечто подобное. Почему? Почему изобретать велосипед так постыдно? Потому что, чаще всего, существующий код — рабочий код. Он уже прошел через какой-то контроль качества, тщательное тестирование, и в настоящее время успешно используется. Кроме того, время и усилия, вложенные в изобретение обычно не окупаются так же, как при использовании существующего продукта или кодовой базы. Нужно ли заморачиваться изобретением велосипеда? Зачем? Когда?

Может быть вы видели публикации о паттернах в разработке или книги по проектированию программного обеспечения. Эти книги могут всё еще ждать своего часа, независимо от того, насколько великолепна информация, содержащаяся в них. Точно так же как смотреть кино о парусном спорте это совсем не то, что самому ходить под парусом, так и использовать существующий код, по сравнению с разработкой собственного программного обеспечения с нуля, тестируя его, ломая и исправляя его.

Изобретать велосипед — это не просто упражнение в размещении управляющих конструкций, оно в том, как получить глубокие знания о внутренней работе различных существующих компонентов. Вы знаете, как работают менеджеры памяти? Подкачка? Можете ли вы осуществить это сами? Как насчет двусвязных списков? Классов динамических массивов? ODBC-клиентов? Вы можете написать графический интерфейс, который работает не хуже, чем ваш любимый популярный интерфейс? Вы можете создавать свои собственные виджеты для браузера? Вы знаете, когда писать мультиплексную систему, а когда многопоточную? Как сделать выбор между файл- и память-ориентированной базой данных? Большинство разработчиков просто не реализовывали эти базовые вещи сами, и поэтому не имеют глубоких знаний о том, как они работают. Как следствие, всё это рассматривается как таинственные черные ящики, которые просто работают. Понимания только того что на поверхности не достаточно, чтобы выявить скрытые в толще опасности. Незнание глубоких вещей в разработке будет ограничивать вашу способность создавать действительно блестящие работы.

Изобрести велосипед с квадратными колёсами более ценно, чем сразу же получить его идеальным. Есть уроки, извлеченные из проб и ошибок, с эмоциональной составляющей в них, которые просто невозможно получить читая техническую книгу!

Заученные факты и книжная мудрость очень важны, но становление великим программистом требует больше приобретения опыта, чем простого сбора фактов. Изобретать велосипед так же важно для образования разработчика, как поднятие тяжестей для бодибилдера.


Вернуться в раздел: Programming / Теория разработки
© Copyright 1998-2012 Александр Томов. All rights reserved.