💻 Улучшаем навыки программирования!
💬 Уже занимаюсь DS наверное лет 10, еще с тех пор когда слова "Data Science" даже не употреблялись. И, как мне видится, за все это время мало что изменилось с точки зрения написания кода - сложно читаемый, не воспроизводимый и непригодный для использования в production-системах. Кроме этого выявляются многочисленные проблемы, такие как нарушение логики, лики, ошибки реализации тех или иных функций которые в конечном счете влияют на результат.
💬 Хочу поговорить о том как можно улучшить свои скилы в плане написания
production ready кода.
Ниже представлены несколько ресурсов, которые помогут систематизировать информацию, понять текущие пробелы в знаниях и начать их изучение:
1⃣
https://goodresearch.dev/
Сайт с базовыми знаниями о том как создавать и вести
любой научный проект. От создания структуры проекта, работы с git, написание кода, документации, тестов и т.д.
Кратко,
понятно, а главное все по делу. Где нужно - есть дополнительные ссылки с более детальной информацией.
В общем если вы видели в своей жизни только jupyter notebook и не знаете с чего начать более сложный проект - начните с этого сайта.
2⃣
https://refactoring.guru/
Паттерны проектирования - нужно знать. Вы же на python код пишите все-таки. Кроме этого есть отдельный раздел по
рефакторингу кода, который содержит типичные ошибки при написании кода и принципы которые помогут избегать их.
У меня сложная история с изучением этого материала, связанная с написанием проекта по парсингу документов судебных решений. История полная боли, ошибок, самоосознания насколько фиговый код я пишу, и в итоге - переписыванием кода с нуля, причем 2 или 3 раза. После переработки, код стал чище, понятнее, а главное - можно было легко его доработать.
Мой совет - изучите тему, даже если не все запомните, при реализации проекта вам будут приходить правильные мысли и возможно не потратите уйму времени на переписывание собственного кода.
3⃣
Lott Phillips - Python Object Oriented Programming 4th Edition (2021, Packt)
ООП в python. Конечно я считаю, что посмотрев 2 скринкаста ниже можно основную информацию подчерпнуть сразу потратив всего 2 часа
https://www.youtube.com/watch?v=r1Y7m5bB7l8
https://www.youtube.com/watch?v=Eetg5HIxNow
Прочитать книгу все равно рекомендую если вы хотите улучшить свои хард скилы
4⃣
Luciano Ramalho - Fluent Python- Clear, Concise, and Effective Programming (2022, O'Reilly Media)
Думаю эта книга станет отличным дополнением для людей которые уже знают python и хотят узнать что-то новое. Там с первых строк будет понятно, что книга не для новичка -
concurrency, async, метапрограммирование, датаклассы, ООП, функции, структуры данных. Вас ждет погружение в мир Python на максималках
🧑💻 Напишите в комментах свои рекомендации и чем вы пользовались