Читаем От джуна до сеньора. Как стать востребованным разработчиком полностью

Тезисы

 Copy – Paste – это нормально (прочь, критики).

 Тщательно проверяйте скопированный код на его новом месте.

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

Задание

Проверьте код вашего проекта и найдите места, в которых происходят очень похожие действия. Оцените аналитически, действительно ли эти места похожи и как бы они выглядели, если бы вы решили выделить этот код в отдельную сущность. Не торопитесь с рефакторингом этих мест. Достаточно того, что вы научитесь видеть, как именно выглядит дублирующийся код. Вместе с этим придет и интуитивное понимание, когда код стоит просто копировать, а когда он достоин того, чтобы иметь свой собственный угол в проекте.

История из жизни

Как-то раз мне пришлось создать функцию для блока кода длиной 10 строк, который дублировался на проекте 37 (sic!) раз.

<p>Изобретение колеса</p>

Деятельность разработчика часто заключается в том, что он пишет очень похожие решения для очень похожих задач. Это совсем не значит, что такую работу может делать робот, – ничего подобного (этим я успокаиваю не только вас, но и себя). Даже в похожих решениях найдутся требования, которые заставят вас искать новые подходы. Подходы, не позволяющие вам обрастать багажом уже написанного кода, который вы будете просто копировать в каждый новый проект.

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

При работе над задачей вы всегда будете стоять перед выбором: либо написать код самостоятельно, либо применить уже написанное, готовое решение. Если у вас недостаточно опыта для решения такой задачи, используйте готовое, проверенное решение. При желании вы всегда сможете сделать рефакторинг и заменить его своим. Ваши приоритеты – стабильность и простота поддержки кода, который вы производите. Не забывайте об этом.

Если вам нужно отсортировать данные, пожалуйста, не пишите свою версию сортировки, они все уже написаны; возьмите готовое решение, исходя из своих требований. Если вам нужно использовать алгоритм шифрования, будьте любезны, проанализируйте доступные решения и возьмите уже написанный и проверенный сообществом код.

Разумеется, это не относится к ситуациям, когда типового решения нет (а таких ситуаций с ростом вашего опыта будет становиться все больше и больше), однако во всех остальных случаях старайтесь использовать проверенные временем (и людьми) решения. Этим вы убережете себя от множества подводных камней, которые обязательно упустите, если начнете делать все сами. Используя стороннее решение, в качестве бонуса вы даже получите определенную поддержку от его сообщества. Иными словами, сможете ли вы поправить свежую уязвимость в алгоритме шифрования так же быстро, как это сделают авторы библиотеки? Я – нет.

Если у вас возникнет мысль, что использовать чужие решения недостойно настоящего самура… разработчика, выкиньте эту мысль на помойку. У вас ограниченный ресурс времени и сил, и вы физически не сможете написать каждое решение, которое будет необходимо. Доверяйте сообществу, доверяйте проверенным решениям. На протяжении карьеры у вас сложится достаточно ситуаций, когда нужно будет написать решение, которого пока просто не существует. Если вы все еще чувствуете неудовлетворенность, используя сторонний код, сделайте свой собственный вариант в нерабочее время. Это подарит вам новый опыт и позволит лучше понять, что именно вы использовали и как оно работает.

Перейти на страницу:

Похожие книги

Изменить все что угодно. 6 мощных инструментов для достижения любых целей
Изменить все что угодно. 6 мощных инструментов для достижения любых целей

62 % работающих тратят всю зарплату без остатка. 68 % курильщиков бросали курить, но возвращались к пагубной привычке. 95 % сидевших на диетах не достигли желаемого веса или не смогли его сохранить. Мы привыкли думать, что все зависит от нашей силы воли.Что, если причина совершенно в другом…Новейшие научные достижения и опыт нескольких тысяч людей позволили выявить 6 источников влияния, которые определяют наше поведение. Что это за источники и как заставить их работать на себя – благодаря этим знаниям вы сможете заменять старые шаблоны поведения на новые, более эффективные. Вы научитесь ясно и точно видеть возможные препятствия и устранять их и как результат – быстрее и легче достигать любых целей, даже тех, на которые раньше у вас не хватало силы воли. Перевод: Татьяна Новикова

Джозеф Греннай , Джозеф Гренни , Дэвид Максфилд , Керри Паттерсон , Рон Макмиллан , Эл Свитцлер

Карьера, кадры / Поиск работы, карьера / Финансы и бизнес
Думай как миллиардер
Думай как миллиардер

Чтобы стать по-настоящему богатым человеком, необходимо научиться мыслить как миллиардер. И здесь вам на помощь придет гений недвижимости, автор бестселлеров и звезда телеэкрана Дональд Трамп. Он покажет, как правильно относиться к деньгам, карьере, собственным талантам и к жизни вообще. В этой книге вы найдете великолепные советы признанного специалиста по поводу вложения средств в недвижимость: от методов общения с брокерами до рекомендаций по поводу реконструкции зданий и методов оценки недвижимости.Как потратить заработанные деньги с умом и пользой для себя? Трамп предлагает «руководство потребителя», призванное помочь в науке обладания всеми благами – от обручальных колец до дорогих вин и гольф-клубов. Автор также любезно приглашает вас за кулисы знаменитого телешоу The Apprentice (российская версия этого реалити-шоу идет на ТВ под названием «Кандидат»), ставшего настоящим хитом эфира.Дональд Трамп доказывает, что стать богатым достаточно легко. Гораздо труднее оставаться таковым. Читайте эту книгу – и она поможет вам изменить вашу жизнь к лучшему. Перевод: Н. Зарахович

Дональд Джон Трамп , Дональд Дж. Трамп , Мередит Макивер

Маркетинг, PR / Поиск работы, карьера / Финансы и бизнес