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

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

Тезисы

 Любой проект – экосистема.

 У каждого проекта есть функции и предметная область.

 Вам обязательно нужно разбираться в предметной области проекта.

 Технологический стек проще контролировать, когда он небольшой.

Задание

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

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

Для реализации одного из проектов мне пришлось досконально разобраться в картах Таро и магических практиках. Я не жалею об этом опыте.

<p>Рефакторинг</p>

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

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

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

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

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

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

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

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

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

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

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

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

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

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