Сегодня короткая статья на тему классических ошибок начинающих программистов. В принципе, все программисты в процессе своего обучения наступают на одни и те же грабли, проходя похожий путь. Но не все готовы делать выводы, и не все готовы расти как специалисты - кому-то проще продолжать делать странные вещи, потому что это просто привычно. Ну и как сказал один мой знакомый: "умные учатся на чужих ошибках, а дураки - на своих". Так не будем же дураками (и правда, кому от этого будет лучше?).
Как мне кажется, можно выделить около 10 типичных ошибок начинающих программистов. Представляю их на обозрение, дополнение и обсуждение.
Чрезмерное усложнение кода 🤯
Начинающий программист часто стремится проявить себя, написав сложный код, который, типа выглядит круто. К сожалению, легко забыть, что слишком сложный код трудно тестировать и ещё труднее поддерживать. Сложный код менее эффективен, менее предсказуем, менее гибок и менее универсален. Длинный код-лапша плох абсолютно во всём, кроме заигрывания с чувством собственного величия. Сказать больше - грех!
Усложнение кода можно трактовать по-разному. Здесь можно приводить длинные рассуждения на тему слишком больших методов и функций, слишком длинных классов не разделённых на части (в тех языках где это возможно), использование бесконечно вложенных условий или слишком глубоких циклов, и так далее. Но суть одна - если даже тебе твой код кажется сложным, то вероятнее всего - тебе это не кажется. Надо упрощать.
Вообще я считаю, что программирование - это искусство кратко описывать окружающий нас мир. Пожалуйста постарайся принять в качестве совета - чем проще и очевидней работает твой код, тем более хорош ты как программист. Не наоборот!
Написание кода без плана 😱
Одна из самых очевидных ошибок, которую совершают начинающие программисты - это написание кода без предварительного планирования. Хотя это может показаться отличным способом начать работу, зачастую это приводит к печальным последствиям. Программирование без планирования - дурная привычка, которая не красит ни новичков, ни состоявшихся специалистов.
Сегодня всё чаше звучат заманчивые лозунги о том, что надо поскорее выпускать MVP - и тестировать всё новые и новые гипотезы. Но даже это не должно быть отправной точкой в написание треш-кода. Попробуй сначала нарисовать на листе А4 то, что ты хочешь запрограммировать - а потом начинать фактическое программирование. В конечном итоге, если ты не знаешь, куда должен приплыть твой корабль - как он сможет попасть туда куда ему надо?
Плохое комментирование кода 🤪
Комментарии - важнейший компонент программирования, который новички склонны игнорировать. Правильное комментирование позволяет другим разработчикам эффективнее читать и понимать твой код. Если ты вдруг понял, что в твоей программе только голый код и ничего более - поздравляю, теперь у тебя есть задача на ближайшие несколько часов.
Игнорирование тестирования 😤
У начинающих программистов иногда возникает соблазн пропустить тестирование, особенно при работе над небольшими проектами. Однако тестирование - это жизненно важный аспект программирования, который никогда не следует игнорировать. Тестируй рано, тестируй часто.
Использование сложной IDE 😲
Начинающие программисты часто склонны выбирать сложные IDE с множеством ненужных функций, руководствуясь принципом "сложнее - значит лучше". Новичку может хватить и простого редактора вроде Sublime Text или VS Code. С личной точки зрения, начинать надо вообще с блокнота.
Не нужно думать, что чем более навороченную среду разработки ты выберешь - тем более качественным будет твой код. Скорее, наоборот. Искусство программирования предполагает первоначальное рождение алгоритма и концепции внутри твоей головы, и только потом перенос этой концепции в текстовый файл кода. Смотри не перепутай!
Копирование кода из Stack Overflow 🤓
Хотя Stack Overflow - бесценный ресурс для разработчиков, бездумно копировать оттуда код - не лучшая практика по целому ряду причин. Во-первых, представленные фрагменты кода могут не вполне соответствовать твоим конкретным потребностям или быть не самым эффективным решением твоей проблемы.
Бездумное копирование кода со StackOverflow мешает твоему обучению и способности решать проблемы, делая тебя зависимым от заранее написанных кодов. Чем больше кода ты копируешь не думая над его содержимым - тем большее количество практического опыта ты упускаешь как специалист.
Ну и конечно же, скопированный код может иметь уязвимости, вызывать неожиданное поведение или содержать баги. Очень важно понимать, что именно ты внедряешь, чтобы впоследствии это действительно работало так как тебе нужно, а не так как "как-нибудь как-то так".
Неспособность обратиться за советом 😵💫
Когда дело доходит до программирования, каждый в какой-то момент становится новичком. Нежелание обратиться за помощью к более опытным программистам - ошибка, которую часто совершают начинающие программисты.
Помни о том, что даже самые большие специалисты консультируются друг с другом. Умение признать своё незнание - важный этап проработки собственного эго, и значимая ступенька на пути развития настоящего специалитета. Не стесняйся задавать вопросы - стесняйся совершать ошибки, когда есть возможность их избежать.
Недостаточное знание основ 🥴
Невозможно стать отличным программистом, не зная основ программирования и хотя бы приблизительного устройства компьютера. Начинающим программистам стоит начать с основ, и постепенно прогрессировать по мере того, как появляются фундаментальные знания.
Это не значит, что надо утопать в бесконечной теории и зачитываться олдскулл-книгами (по крайне мере, я так не считаю). Но всё-таки, программировать при полном отсутствии базовых знаний - не очень-то хорошая идея.
Отсутствие внимания к деталям 🙄
Программы состоят из множества частей, включая синтаксис и семантику. Невнимание к деталям может вызвать серьезные проблемы, которые приведут к поломке программы. Пожалуйста, постарайся хотя бы не называть переменные вроде a,b,c,d - давай осознанные имена методам и функциям. Помни, что твою программу рано или поздно увидят другие люди.
Игнорирование документации 😴
Да кто вообще читает инструкции? А вот и нет - поверь, это нужно делать. Перед тем, как впиливать очередную библиотеку в свой проект, или запускать продукт на базе новомодного фреймворка - потрудись почитать техническую документацию и особенности данного продукта. Бездумное вливание в проект бесконечного кода стороннего производства, без понимание зачем этот код нужен, и как он работает - верный путь вникуда.
---
В заключение хочу сказать, что программирование - это обширная область с бесконечными возможностями. Будучи начинающим программистом, крайне важно избегать распространенных ошибок, которые поглощают твоё время и скукоживают качество конечного продукта. Чем меньшее количество банальных ошибок ты совершаешь, тем лучше становится мир вокруг тебя.
🔥 Понравилось? Подпишись! Победим восстание роботов вместе! 🔥
🚀 P.S. Ты можешь круто поддержать меня и проект "Войти в IT" на boosty! Я публикую там более эксклюзивный и профессиональный, иногда немного личный контент. Хочешь посмотреть как я выгляжу в реальной жизни? Тогда жми: Ссылка 🚀
P.S.2 У меня ещё есть Telegram-канал. Там посты чуть попроще, и чуть повеселей. Ссылка