- PVSM.RU - https://www.pvsm.ru -
Я хочу продолжить тему классных разработчиков и их подхода к разработке, на которую опубликовал уже несколько [1] статей [2]. В этот раз поговорим о коде и отношении к его написанию. Кому интересно, прошу под кат.
Вы не ослышались — я действительно считаю, что классный разработчик не должен писать код. Ведь на то он и классный разработчик, что понимает прописные истины:
Как же организовывает свою работу классный разработчик, чтобы писать этого самого кода как можно меньше? Для этого он применяет несколько весьма простых приемов.
Для этого классный разработчик много читает и общается с другими разработчиками, чтобы знать чем богат мир open source решений. Когда он сталкивается с новой задачей, то прежде всего анализирует, не получится ли взять сразу готовое решение из существующих. Он не стесняется спросить совета своих коллег, чтобы воспользоваться еще большим объемом опыта и знаний, а также поискать немного в интернете, заодно освежив свои знания. Если найти не удалось, то классный разработчик думает над декомпозицией задачи на части и повторяет описанный план с самого начала. Java разработчик должен как минимум владеть знаниями по продуктам от Apache Foundation [3] и Google Guava Libraries [4], что уже позволит писать на порядок меньше кода.
Современные IDE прилагают максимум усилий, чтобы код генерировался практически автоматически по нажатиям «горячих клавиш». В Intellij IDEA есть много интеллектуальных генераций кода [5]. Я бы настоятельно рекомендовал перечитать вот эти два блока документации, что может существенно уменьшить объем написанного руками кода: Auto-Completing Code [6] и Generating Code [7]. Практически все стандартные конструкции языка можно сгенерировать одним нажатием. Отдельное слово можно замолвить за автоматические рефакторинги. При рефакторинге риск ошибки особенно велик. Поэтому старайтесь как можно больше доверять в этом вопросе IDE.
Это правило действует сразу в двух направлениях. Прежде чем писать свой код, классный разработчик поищет подобное решение в своем проекте. Если он его найдет, то вероятнее всего сделает удобным для повторного использования с помощью рефакторинга, а после этого использует в новом месте. Это гораздо надежнее, потому что старые тесты гарантируют работоспособность кода, а шанс допустить ошибку становится гораздо ниже. Но не весь код стоит использовать повторно. Часто есть стандартные приемы или конструкции, которые используются повсеместно, но не могут быть легко абстрагированы от деталей. В этом случае на помощь классному разработчику приходят «живые шаблоны» [8] — он просто создает шаблоны подобных конструкций на будущее и следующий раз создает их нажатием пары клавиш. Это сильно снижает риск ошибки и ускоряет появление рабочего кода.
После определенного времени работы на проекте, классный разработчик уже имеет наработанную базу кода и шаблонов, которые позволяют ему практически ничего не писать с нуля. А это делает его на порядок эффективнее других разработчиков. Наблюдая как работают другие, я могу вам с уверенностью сказать, что классный разработчик может работать в 2-10 раз быстрее среднестатистического. Надеюсь, вы к этому тоже стремитесь!
Ваш КЭП.
Автор: xpinjection
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/31476
Ссылки в тексте:
[1] несколько: http://habrahabr.ru/post/175601/
[2] статей: http://habrahabr.ru/post/174957/
[3] Apache Foundation: http://projects.apache.org/indexes/category.html
[4] Google Guava Libraries: http://code.google.com/p/guava-libraries/
[5] интеллектуальных генераций кода: http://jetbrains.dzone.com/articles/top-20-code-completions-in-intellij-idea
[6] Auto-Completing Code: http://www.jetbrains.com/idea/webhelp/auto-completing-code.html
[7] Generating Code: http://www.jetbrains.com/idea/webhelp/generating-code.html
[8] «живые шаблоны»: http://www.jetbrains.com/idea/webhelp/live-templates.html
[9] Источник: http://habrahabr.ru/post/175867/
Нажмите здесь для печати.