0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>26 мар 2021</li>
2
<ul><li>26 мар 2021</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Не стесняйтесь своих ошибок, потому что ошибаются - все!</p>
4
</ul><p>Не стесняйтесь своих ошибок, потому что ошибаются - все!</p>
5
<p>Переводчик-фрилансер. Увлечён своей профессией. Переводит полезные статьи на разные темы - от IT до путешествий, урбанистики и социологии. Занимается лингвистическими исследованиями.</p>
5
<p>Переводчик-фрилансер. Увлечён своей профессией. Переводит полезные статьи на разные темы - от IT до путешествий, урбанистики и социологии. Занимается лингвистическими исследованиями.</p>
6
<p><strong><strong>об авторе</strong></strong></p>
6
<p><strong><strong>об авторе</strong></strong></p>
7
<p>Живёт в Нидерландах, занимается backend-разработкой, увлечённо инвестирует в криптовалюты.</p>
7
<p>Живёт в Нидерландах, занимается backend-разработкой, увлечённо инвестирует в криптовалюты.</p>
8
<p>Человеку свойственно ошибаться. День за днём все мы совершаем промашки. И на работе тоже.</p>
8
<p>Человеку свойственно ошибаться. День за днём все мы совершаем промашки. И на работе тоже.</p>
9
<p>Создание программ - задача сложная. Без ошибок здесь не обходится. Какие-то ошибки пустяковые, какие-то - серьёзные. Но они были и будут всегда.</p>
9
<p>Создание программ - задача сложная. Без ошибок здесь не обходится. Какие-то ошибки пустяковые, какие-то - серьёзные. Но они были и будут всегда.</p>
10
<p>И это хорошо. Потому что ошибки ценны. Конечно, если мы извлекаем из них уроки - и растём профессионально. Как говорила Элеонора Рузвельт,<em>жизнь слишком коротка, чтобы тратить её на повторение чужих ошибок.</em><em></em>Так что лучше на них учиться.</p>
10
<p>И это хорошо. Потому что ошибки ценны. Конечно, если мы извлекаем из них уроки - и растём профессионально. Как говорила Элеонора Рузвельт,<em>жизнь слишком коротка, чтобы тратить её на повторение чужих ошибок.</em><em></em>Так что лучше на них учиться.</p>
11
<p>Я расскажу про самые частые ошибки разработчиков. Надеюсь, вы научитесь их избегать.</p>
11
<p>Я расскажу про самые частые ошибки разработчиков. Надеюсь, вы научитесь их избегать.</p>
12
<p>Все хоть раз коммитили в неправильную ветку репозитория. На исправление этой ошибки можно убить уйму времени. Но если заметить её вовремя, ничего страшного не произойдёт. Гораздо хуже - продолжать коммитить неверную ветку.</p>
12
<p>Все хоть раз коммитили в неправильную ветку репозитория. На исправление этой ошибки можно убить уйму времени. Но если заметить её вовремя, ничего страшного не произойдёт. Гораздо хуже - продолжать коммитить неверную ветку.</p>
13
<p>Помните об этом и будьте внимательны.</p>
13
<p>Помните об этом и будьте внимательны.</p>
14
<p>Я часто сталкиваюсь с тем, что в репозитории оказываются лишние файлы или в нём чего-то недостаёт. Это происходит тогда, когда фиксируют слишком много изменений за раз. Тут уж немудрено надобавлять лишнего или забыть что-то нужное.</p>
14
<p>Я часто сталкиваюсь с тем, что в репозитории оказываются лишние файлы или в нём чего-то недостаёт. Это происходит тогда, когда фиксируют слишком много изменений за раз. Тут уж немудрено надобавлять лишнего или забыть что-то нужное.</p>
15
<p>Первое обычно делают поспешные или небрежные разработчики. Например, я со счёта сбился, сколько раз видел в репозиториях файлы формата IDE. Бездумное добавление к коммиту всех файлов подряд ничем хорошим не кончится.</p>
15
<p>Первое обычно делают поспешные или небрежные разработчики. Например, я со счёта сбился, сколько раз видел в репозиториях файлы формата IDE. Бездумное добавление к коммиту всех файлов подряд ничем хорошим не кончится.</p>
16
<p>С другой стороны, есть файлы, про которые часто забывают - по незнанию или не разобравшись в их назначении. Например, файл<em>yarn.lock</em>. Разработчики не понимают, зачем он нужен, - и потому боятся добавлять в репозиторий. Или считают, что этот файл важен только в их <a>локальном окружении</a>.</p>
16
<p>С другой стороны, есть файлы, про которые часто забывают - по незнанию или не разобравшись в их назначении. Например, файл<em>yarn.lock</em>. Разработчики не понимают, зачем он нужен, - и потому боятся добавлять в репозиторий. Или считают, что этот файл важен только в их <a>локальном окружении</a>.</p>
17
<p>Чаще всего из-за пропавшего файла что-нибудь пойдёт не так, а что конкретно - зависит от файла. Например, если не хватает<em>yarn.lock</em>, вы получите разные зависимости для всех ваших окружений, что легко породит самые дурацкие ошибки.</p>
17
<p>Чаще всего из-за пропавшего файла что-нибудь пойдёт не так, а что конкретно - зависит от файла. Например, если не хватает<em>yarn.lock</em>, вы получите разные зависимости для всех ваших окружений, что легко породит самые дурацкие ошибки.</p>
18
<p>Разработчики часто исправляют баги небрежно, лишь бы побыстрее. Такой подход быстро приводит к техническому долгу. А это демотивирует не только тех, кто вынужден дорабатывать ваш код, но и всю команду.</p>
18
<p>Разработчики часто исправляют баги небрежно, лишь бы побыстрее. Такой подход быстро приводит к техническому долгу. А это демотивирует не только тех, кто вынужден дорабатывать ваш код, но и всю команду.</p>
19
<p>Безусловно, иногда допустимо кодить "грязно". Когда главное - быстро получить результат. Например, если код нужен ненадолго или вовсе на раз. Но если кодом, который держится на костылях, будут пользоваться постоянно - это вам ещё аукнется.</p>
19
<p>Безусловно, иногда допустимо кодить "грязно". Когда главное - быстро получить результат. Например, если код нужен ненадолго или вовсе на раз. Но если кодом, который держится на костылях, будут пользоваться постоянно - это вам ещё аукнется.</p>
20
<p>Этим часто грешат новички - очень уж им охота впечатлить коллег. Но поверьте, писать навороченный код для задачи, которая того не стоит, бессмысленно. Так вы тратите время на то, чего не требовалось.</p>
20
<p>Этим часто грешат новички - очень уж им охота впечатлить коллег. Но поверьте, писать навороченный код для задачи, которая того не стоит, бессмысленно. Так вы тратите время на то, чего не требовалось.</p>
21
<p>А вам надо быстрее выдавать адекватный код, который верно решает поставленную задачу. Это значит - оптимальный для её условий, требований к кодингу в команде, понятный коллегам и так далее, а вовсе не лучший из всех возможных (например, по своим техническим характеристикам).</p>
21
<p>А вам надо быстрее выдавать адекватный код, который верно решает поставленную задачу. Это значит - оптимальный для её условий, требований к кодингу в команде, понятный коллегам и так далее, а вовсе не лучший из всех возможных (например, по своим техническим характеристикам).</p>
22
<p>Так у вас останется время на действительно полезную работу.</p>
22
<p>Так у вас останется время на действительно полезную работу.</p>
23
<p>Каждый разработчик хоть раз в жизни писал совсем короткий код - буквально пару строк. Казалось, тут просто нечему ломаться. И верно: здесь не ломалось - ломалось где-то ещё, но виноваты были как раз те две строчки.</p>
23
<p>Каждый разработчик хоть раз в жизни писал совсем короткий код - буквально пару строк. Казалось, тут просто нечему ломаться. И верно: здесь не ломалось - ломалось где-то ещё, но виноваты были как раз те две строчки.</p>
24
<p>При этом большинство разработчиков ненавидят проверять свой код. Не видят в этом смысла, считают пустой тратой времени. Они уверены, что код заработает идеально. Почему - вопрос без ответа.</p>
24
<p>При этом большинство разработчиков ненавидят проверять свой код. Не видят в этом смысла, считают пустой тратой времени. Они уверены, что код заработает идеально. Почему - вопрос без ответа.</p>
25
<p>Не делайте так. Подкрепляйте веру в свой профессионализм результатами тщательного тестирования. Оно поможет устранить критические ошибки и подтвердит, что ваш код работает именно так, как задумано.</p>
25
<p>Не делайте так. Подкрепляйте веру в свой профессионализм результатами тщательного тестирования. Оно поможет устранить критические ошибки и подтвердит, что ваш код работает именно так, как задумано.</p>
26
<p>В наследовании как таковом нет ничего плохого. Но я замечаю, что разработчики слишком уж им увлекаются. Это частая ошибка.</p>
26
<p>В наследовании как таковом нет ничего плохого. Но я замечаю, что разработчики слишком уж им увлекаются. Это частая ошибка.</p>
27
<p>Злоупотребляя наследованием, легко угодить в капкан переинжиниринга. В результате ваш код окажется настолько универсальным, что вы забудете про главную задачу, ради которой он создан и которую должен решать лучше всего. Использовать его будет одинаково неудобно для всех целей, а потому и неразумно.</p>
27
<p>Злоупотребляя наследованием, легко угодить в капкан переинжиниринга. В результате ваш код окажется настолько универсальным, что вы забудете про главную задачу, ради которой он создан и которую должен решать лучше всего. Использовать его будет одинаково неудобно для всех целей, а потому и неразумно.</p>
28
<p>Так что помните: наследование - всё же не палочка-выручалочка, а палка о двух концах.</p>
28
<p>Так что помните: наследование - всё же не палочка-выручалочка, а палка о двух концах.</p>
29
<p>Многие проекты применяют тот или иной фреймворк - это здорово упрощает жизнь разработчикам. Однако не все в команде знают, что фреймворк умеет.</p>
29
<p>Многие проекты применяют тот или иной фреймворк - это здорово упрощает жизнь разработчикам. Однако не все в команде знают, что фреймворк умеет.</p>
30
<p>И это проблема. Потому что такие разработчики продолжают изобретать методы и инструменты, аналоги которых во фреймворке уже есть. То есть не только тратят время впустую, но и не пользуются потенциалом фреймворка - усложняют повторное использование кода.</p>
30
<p>И это проблема. Потому что такие разработчики продолжают изобретать методы и инструменты, аналоги которых во фреймворке уже есть. То есть не только тратят время впустую, но и не пользуются потенциалом фреймворка - усложняют повторное использование кода.</p>
31
<p>Чтобы не делать двойную и тройную работу, изучайте фреймворки тщательнее.</p>
31
<p>Чтобы не делать двойную и тройную работу, изучайте фреймворки тщательнее.</p>
32
<p>Не учиться чему-то новому - самая досадная ошибка разработчика.</p>
32
<p>Не учиться чему-то новому - самая досадная ошибка разработчика.</p>
33
<p>Да, не всегда получается учиться на работе - приходится тратить и личное время. Но это необходимо, чтобы оставаться востребованным, это инвестиции в себя.</p>
33
<p>Да, не всегда получается учиться на работе - приходится тратить и личное время. Но это необходимо, чтобы оставаться востребованным, это инвестиции в себя.</p>
34
<p>Ключ к совершенству - в практике, это знают все. Без неё не получить полезные навыки, не освоить другие языки программирования, новые технологии и так далее.</p>
34
<p>Ключ к совершенству - в практике, это знают все. Без неё не получить полезные навыки, не освоить другие языки программирования, новые технологии и так далее.</p>
35
<p>Как попрактиковаться? Вот вам<a>идеи</a>pet-проектов, которые вы можете воплотить.</p>
35
<p>Как попрактиковаться? Вот вам<a>идеи</a>pet-проектов, которые вы можете воплотить.</p>
36
<p>"Это задача в один стори поинт. Я быстро с ней управлюсь", - думали вы.</p>
36
<p>"Это задача в один стори поинт. Я быстро с ней управлюсь", - думали вы.</p>
37
<p>А всё оказалось иначе. Решение в лоб заработало не так, как ожидали. Пробуете альтернативное - на него уходит гораздо больше времени.</p>
37
<p>А всё оказалось иначе. Решение в лоб заработало не так, как ожидали. Пробуете альтернативное - на него уходит гораздо больше времени.</p>
38
<p>Недооценивать объём работы - ошибка частая, особенно в командах с гибким управлением проектами (типа<a>Scrum</a>).</p>
38
<p>Недооценивать объём работы - ошибка частая, особенно в командах с гибким управлением проектами (типа<a>Scrum</a>).</p>
39
<p>Так что, если вы тимлид, закладывайте время не только на разработку продукта, но и на дополнительные этапы вроде тестирования.</p>
39
<p>Так что, если вы тимлид, закладывайте время не только на разработку продукта, но и на дополнительные этапы вроде тестирования.</p>
40
<p>Уверенность в себе - это здорово, когда она не мешает вам слышать чужие мнения.</p>
40
<p>Уверенность в себе - это здорово, когда она не мешает вам слышать чужие мнения.</p>
41
<p>Самоуверенные разработчики порой забывают, что тоже совершают ошибки. И чаще начинают принимать решения единолично, не консультируясь ни с кем. Однажды это непременно выйдет им боком: либо качество решений упадёт, либо коллеги начнут чувствовать себя ненужными.</p>
41
<p>Самоуверенные разработчики порой забывают, что тоже совершают ошибки. И чаще начинают принимать решения единолично, не консультируясь ни с кем. Однажды это непременно выйдет им боком: либо качество решений упадёт, либо коллеги начнут чувствовать себя ненужными.</p>
42
<p>Разработчик не может разбираться сразу во всём и делать всё одинаково хорошо. Стоит это осознать.</p>
42
<p>Разработчик не может разбираться сразу во всём и делать всё одинаково хорошо. Стоит это осознать.</p>
43
<p>Подумайте над этими ошибками, извлеките урок из каждой. Позвольте себе ошибаться, но не забывайте на этом учиться. И помните расхожую мудрость: не ошибается лишь тот, кто ничего не делает.</p>
43
<p>Подумайте над этими ошибками, извлеките урок из каждой. Позвольте себе ошибаться, но не забывайте на этом учиться. И помните расхожую мудрость: не ошибается лишь тот, кто ничего не делает.</p>
44
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
44
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>