python

10 советов новичкам, как сэкономить время и не впасть в отчаяние пока пишешь код

  • воскресенье, 24 мая 2020 г. в 00:28:37
https://habr.com/ru/company/skillfactory/blog/503464/
  • Блог компании SkillFactory
  • Python
  • Программирование
  • GTD
  • Учебный процесс в IT


image


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

Многие начинания заканчиваются неудачей и полным разочарованием отчасти из-за того, что обучение кодированию протекает медленно и утомительно. Я очень хочу помочь людям преодолеть этот путь и стать продвинутыми программистами. Барьеры и препятствия будут всегда, но некоторые получится обойти.

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

10 советов


  1. Разделите экран. Пока вы только учитесь кодить, советую разделить экран на две смежные области: одна — для кода, над которым вы работаете в блокноте Jupyter или в другом редакторе, а вторая — для браузера. Браузер понадобится для просмотра документов, Stack Overflow и других вспомогательных материалов. Если ваш экран маленький, при возможности советую приобрести монитор побольше. На Amazon можно найти 25-дюймовый монитор чуть дороже $100. Набравшись опыта, вы обязательно захотите сконцентрироваться на одной области работы. Для переключения с рабочих областей на полноэкранный режим используйте горячие клавиши. Для реализация подобной функции на Mac я установил BetterSnapTool за $2.99, а как это сделать на Windows — описано в этой статье.
  2. Не отвлекайтесь. Переведите компьютер и телефон в беззвучный режим. По возможности телефон лучше совсем убрать. Если работаете в шумном месте, включите успокаивающую музыку или наденьте шумоподавляющие наушники. Чем лучше вы сосредоточитесь, тем быстрее научитесь.
  3. Перепишите пример кода. Нельзя просто читать учебник и надеяться его запомнить. От копипаста тоже толка мало. Перепечатайте код. Затем продлите его. Затем напишите по памяти. “В теории нет разницы между теорией и практикой. А на практике есть.”— цитата Бенджамина Брустера, а не Йоги Берра, как многие привыкли считать.
  4. Учитесь в течение нескольких дней. Учите новые методы, алгоритмы, структуры кода и затем закрепляйте их в течение последующих нескольких дней. Исследования показывают, что, чтобы отложить информацию в долговременную память, гораздо эффективнее применять метод интервального повторения, нежели пытаться зубрить.
  5. Учитесь, обучая других. Объясняя материал другим — письменно или устно — вы и сами его усваиваете, устанавливаете взаимосвязи, создаете аналогии. Так вы укрепляете задействованные в памяти нейронные связи. Этот совет являются частью превосходнгого метода обучения Феймана.
  6. Сначала язык, потом библиотека. Прежде чем залезть в библиотеку, сперва освойте язык программирования. Типы переменных — не самая увлекательная тема. Атрибуты и методы класса, может, и выглядят заманчиво, но когда вы хорошо овладеете языком, разобраться с библиотекой будет гораздо проще. Вы допустите меньше ошибок и тем самым сэкономите свое время.
  7. Учите по одному пункту за раз. Не пытайтесь выучить все и сразу. Вы не просто не научитесь быстрее, а замедлитесь раз так в десять. Поэтому, не забивайте голову. Все интересные, но не имеющие прямого отношения к теме URL-адреса сохраните до лучших времен. One Tab — удобное расширение для Chrome, которое можно использовать для сохранения вкладок.
  8. Высыпайтесь, занимайтесь спортом и будьте упорны. Поддерживайте свой мозг в тонусе для укрепления новых нейронных путей. Подробнее о том, как сохранять остроту ума можно узнать из моей книги Memorable Python.
  9. Научитесь быстрее набирать код. Чем больше непривычных комбинаций символов вы печатаете, тем быстрее вы потом их вводите. Однако, есть небольшая хитрость. Освойте печатать вслепую. Вот небольшое упражнение в помощь от SpeedCoder.
  10. Станьте профи, выучив горячие клавиши. Вот ссылки на горячие клавиши для Chrome, Mac, и Windows. Если вы работаете в сфере науки о данных, то вот горячие клавиши для GitHub Gist и Jupyter Lab. Также можно создать горячие клавиши для терминалов Mac или Linux, добавив строчки после Bash Profile: ~/.bash_profile:alias gs=«git status». Затем перезагрузите терминал и нажмите 2 клавиши вместо двух слов.


Бонус: Как быстро устранить ошибки



На самом деле, тема настолько обширна, что по ней можно написать целую статью. Но, вместо этого я прикрепляю небольшой бонус— 5-этапный план для быстрого устранения ошибок.

image

Пояснение: вы вызвали функцию “shape” как метод, который не найден, от вас требуется ввести атрибут.

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

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

Вот план действий для быстрого устранения 95% ошибок.
Итак, возникла ошибка, что делать?

1. Ищите опечатку — пропущенные круглые скобки, переменную или функцию, написанные с ошибкой. Возможно пригодится подсветка синтаксиса. Всегда используйте среду разработки с функцией отладки программы. Тогда вы избежите многих ошибок, быстро исправите отступы, несбалансированные скобки и т.п. Есть много хороших редакторов кода. Если вы из начинающих, предложу VSCode — один из самых популярных редакторов на рынке, к тому же бесплатный и со множеством полезных функций.

2. Сначала прочитайте первую и последнюю строчки сообщения ошибки. Информация в середине, как правило, менее полезна. Учитывая подсказки, попробуйте понять, что не так в вашем коде. Если не получается расшифровать сообщение, скопируйте и вставьте последнюю строку сообщения в Google (если вы используете Python. Некоторые языки могут выводить сообщение об ошибке перед трассировкой стека). Главная ошибка неопытного кодера заключается в том, что он не спешит загуглить код ошибки.

3. Фильтруйте интернет-ресурсы, чтобы отделить зерна от плевел. Вот несколько полезных ресурсов, которые помогут вам быстрее найти необходимую и проверенную информацию.

На Stack Overflow, Medium, Reddit, Hacker News, Dev и в других онлайн комьюнити публикуемый материал фильтруют пользователи через голосование. Такой способ оценки, конечно, не идеален, но все же работает. Stack Overflow, Towards Data Science Medium publication, репозиторий проблем GitHub и официальная документация по языку и его библиотекам — вот к чему я обращаюсь, чтобы разобраться в проблеме.

Результаты в Google оставляют желать лучшего. Если вы кодите на Python, советую следующие сайты:



4. Избегайте устаревших источников. Для решения большинства проблем необходимы свежие источники, не старше пары лет. Во время поиска в Google обращайте внимание на дату сайтов, либо сразу ставьте фильтр по дате.

image

Выставление фильтра с помощью инструментов поиска Google

Если вы лишь недавно стали работать с Python, то информация о Python 2, начиная с 2009 года, вряд ли вам поможет.

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

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

5. Выясните, что означают коды ошибок. Вот список распространенных кодов ошибок и пояснений для Python. И вот неплохая схема, которая поможет вам разобраться с распространенными ошибками в Python.

image

Если вы используете pandas для работы с данными, то, скорее всего, допускаете ту или иную оплошность. С помощью блокнота Jupyter я сделал GitHub Gist о наиболее частых ошибках и о том, как из них выйти: