6 ошибок начинающего Python-программиста: что отличает новичка от опытного
Привет! Меня зовут Юлия Евсеева, я генеральный директор школы Devman. Мой личный опыт прикладного программирование более 13 лет. В школе мы уже 9 лет обучаем python-разработчиков и часто сталкиваемся с тем, что новички совершают одни и те же ошибки. Я решила поделится опытом с вами, чтобы сделать ваше обучение более эффективным!
Современная психология говорит, что чтобы стать экспертом в какой-то области нужно потратить 10 000 часов. Интернет переполнен мемами про джунов и сеньоров. Так что же кроме количества часов и заваленных проектов отличает новичка от опытного разработчика?
Настроенная и изученная вдоль и поперек IDE
Не важно, что это будет PyCharm или Sublime Text. Плохо настроенная или совсем незнакомая IDE будет тормозить разработку. Именно поэтому начинающим лучше остановиться на простых вариантах вроде специализированного текстового редактора или даже использовать онлайн редактор, а не брать «комбайн», который под капотом творит магию и не позволяет отлаживать код.
Вот примеры специализированных редакторов, с которых можно начать:
А эти лучше оставить на потом:
Что нужно настроить:
- Отступы, чтобы по tab вставлялись 4 пробела. Отступы влияют на выполнение программы, а смесь табов и пробелов запрещена PEP8;
- Подсветку синтаксиса. Так проще разобраться в структуре кода;
- Линтер, например, flake8. Как минимум пока форматирование не впитается наравне с таблицей умножения;
- Большой терминал для вывода. Если вы смотрите в крошечное окошечко, то риск пропустить проблемы максимальный.
Я сама для Python использую Sublime Text или Jupyter Notebook, а тяжёлые IDE откровенно раздражают и вызывают ощущение программирования в смирительной рубашке.
Использование горячих клавиш
В каждой IDE и ОС есть свой набор горячих клавиш:
- выделить все вхождения подстроки,
- редактировать несколько строк одновременно,
- переключаться между приложениями,
- запускать код и т.д.
Возня с мышкой замедляет скорость работы в несколько раз. А если есть навыки слепой печати или просто высокая скорость печати (CPS), то это совсем здорово. Со временем она и так станет высокой, но с помощью простых тренажеров можно быстро поднять свой CPS.
Вот несколько таких тренажеров:
Писать код небольшими порциями
Буквально по 2-3 строчки. Исключение: если копируете рабочий код из другого проекта. Написать — и сразу запустить. Так вы исключите проблему, что есть 100 новых строк кода и «что-то где-то не работает». Комментировать код и отлаживать по кусочками потом замучаетесь.
Использовать «строительные леса»
Сложный проект нельзя сесть и написать с ходу. Какие-то решения стоит отладить и протестировать отдельно в виде прототипов, чтобы убедиться, что они рабочие или испытать новую технологию. Надо заранее продумать как будете тестировать код, что нужно дополнительно создать или запустить для полноценного теста: мок-сервер, тестовая база данных, имитатор сайта и др.
Отладка кода — не танцы с бубном. Проблему нужно воспроизвести — найти условия при которых она возникает. Далее — локализовать, какой фрагмент кода ее вызывает. Потом уже думать как решать. Сносить все и начинать сначала или рандомно менять код, в том числе, потому что GPT посоветовал — слишком долго и ненадежно.
Обрабатывать корнер-кейсы и исключения
Код, который работает только в идеальных условиях — это не более 30% работы, а то и все 10%. Все остальное — это реализовать, как себя будет вести ПО при некорректном наборе данных, при сбое соединения, когда внешний веб-сервис тупит или присылает ошибку. Если говорить про БД, то реализовать надо все CRUD-операции для каждого объекта.
Конечно, это не все лайфхаки опытных разработчиков, но я выбрала те, которые можно начать использовать даже новичкам в Python, чтобы ускорить свое развитие!