Путь аналитика данных к совершенствованию чистоты кода
«Хорошо составленный код подобен тонкому гобелену. он рассказывает историю, передает цель и делает комплекс легким и элегантным». —Аноним
Как аналитик данных с более чем десятилетним опытом анализа и визуализации данных, я понял важность написания чистого и читаемого кода. Это не только важно для моего собственного здравомыслия при повторном посещении проектов, но также улучшает сотрудничество с товарищами по команде и помогает другим понять мою работу. В этой записи блога я поделюсь с вами одиннадцатью приемами, которые я изучил на своем пути к кодированию, каждый из которых способствует созданию чистого, читаемого кода Python, с которым приятно работать.
1. Используйте осмысленные имена переменных и функций
При создании кода на Python я считаю, что использование описательных и осмысленных имен переменных и функций имеет первостепенное значение. Это поможет вам и другим быстро понять назначение и функциональность кода. Избегайте расплывчатых или общих названий и стремитесь к ясности и конкретности.
Например, сравните эти два фрагмента кода:
# Bad Example x = 5 y = 10 result = x + y # Good Example num1 = 5 num2 = 10 sum_result = num1 + num2
В хорошем примере переменные названы описательно, что делает код понятным даже без комментариев.
2. Комментарий с целью
В то время как чистый код должен говорить сам за себя, я думаю, что разумное использование комментариев может еще больше улучшить понимание, особенно для сложных или неинтуитивных частей кода. Комментарии предоставляют контекст, пояснения и действуют как указатели для других, которые могут перемещаться по вашему коду. Однако чрезмерное комментирование также может загромождать код. Соблюдайте баланс, комментируя только при необходимости и сосредотачиваясь на «почему», а не на «что».
3. Структурируйте свой код с помощью пробелов
Пробелы, хотя и кажущиеся незначительными, играют жизненно важную роль в улучшении читаемости кода. Я верю в эффективное использование пробелов для логической структуризации и организации вашего кода. Используйте пустые строки для разделения логических разделов, последовательно делайте отступы и применяйте пробелы вокруг операторов и после запятых.
Рассмотрите следующий пример:
# Bad Example def calculate_average(numbers): total=0 for number in numbers: total+=number average=total/len(numbers) return average # Good Example def calculate_average(numbers): total = 0 for number in numbers: total += number average = total / len(numbers) return average
Хороший пример легче читать и понимать благодаря последовательному отступу и правильному использованию пробелов.
4. Упростите с помощью списков
При работе со списками в Python я думаю, что понимание списков является мощным инструментом для упрощения кода и сделать его более кратким. Они позволяют выражать сложные операции над списками в одной строке, улучшая читаемость и уменьшая потребность в промежуточных переменных.
Вот пример, демонстрирующий разницу:
# Bad Example squared_numbers = [] for number in numbers: squared_numbers.append(number ** 2) # Good Example squared_numbers = [number ** 2 for number in numbers]
В хорошем примере понимание списка снижает потребность в отдельном цикле и явной операции добавления, что приводит к более чистому коду.
5. Примите дзен Python
У Python есть руководящий принцип, изложенный в «Дзен Python» Тима Питерса. Я верю в включение этих принципов в ваш код. Вызовите оператор import this
в вашей оболочке Python, чтобы прочитать полный список афоризмов. Некоторые ключевые принципы включают в себя:
- Удобочитаемость имеет значение.
- Простое лучше сложного.
- Flat лучше, чем вложенный.
- Редкий лучше, чем густой.
Придерживаясь этих принципов, ваш код станет более элегантным, удобным в сопровождении и синхронизированным с Pythonic.
6. Разбейте это на части: модульность с функциями
Я думаю, что для создания чистого и читаемого кода важно разбивать сложные задачи на более мелкие, автономные функции. Этот подход, известный как модульность, делает ваш код более управляемым, пригодным для повторного использования и более простым для понимания. У каждой функции должна быть одна обязанность и четкое название, отражающее ее назначение. Рассмотрим следующий пример:
# Bad Example def calculate_total_expenses(expenses): total = 0 for expense in expenses: total += expense return total # Good Example def calculate_total_expenses(expenses): return sum(expenses)
В хорошем примере мы инкапсулируем логику суммирования расходов в функцию, что приводит к более чистому и модульному коду.
7. Используйте строки документации
При написании функций или классов я предпочитаю документировать их с помощью строк документации — многострочных строк, описывающих их назначение, параметры и возвращаемые значения. Строки документации служат живой документацией и предоставляют ценную информацию как вам, так и тем, кто может использовать ваш код. Используйте их последовательно, чтобы способствовать лучшему пониманию и ремонтопригодности. Вот пример:
def calculate_total_expenses(expenses): """ Calculate the total expenses from a list of individual expenses. Args: expenses (list): A list of individual expenses. Returns: float: The total sum of expenses. """ return sum(expenses)
Строка документации содержит четкое описание назначения функции, ее аргументов и ожидаемого возвращаемого значения.
8. Овладейте искусством обработки ошибок
Обработка ошибок является неотъемлемой частью написания надежного кода. Я думаю, что очень важно предвидеть и корректно обрабатывать потенциальные ошибки, чтобы избежать сбоев программы или неожиданного поведения. Используйте блоки try-except
для перехвата и обработки исключений, предоставления информативных сообщений об ошибках или резервных стратегий, когда это необходимо.
Вот пример:
try: result = divide(a, b) except ZeroDivisionError: print("Error: Cannot divide by zero.")
В этом примере мы перехватываем ZeroDivisionError
и отображаем значимое сообщение об ошибке для пользователя, предотвращая необработанное исключение.
9. Оптимизируйте читаемость, а не производительность
Хотя важно писать эффективный код, я верю в оптимизацию для удобства чтения, а не производительности, если в этом нет крайней необходимости. Современное оборудование и методы оптимизации Python часто делают небольшие оптимизации незначительными, в то время как снижение читабельности может существенно повлиять на долгосрочное обслуживание и совместную работу. Пишите код, который легко понять, и оптимизируйте его позже, если производительность станет узким местом.
10. Последовательность — это ключ
Поддержание согласованности во всей кодовой базе необходимо для удобочитаемости. Я думаю, что важно установить и следовать согласованному стилю кодирования, придерживаясь отраслевых стандартов, таких как PEP 8. Согласованность в соглашениях об именах, форматировании и общей структуре делает ваш код предсказуемым и более легким для чтения. Используйте линтеры и средства форматирования кода, такие как Flake8 или Black, для автоматизации применения стилей.
11. Принимайте отзывы коллег
Наконец, я верю в силу сотрудничества и экспертных оценок. Делитесь своим кодом с другими и приветствуйте конструктивные отзывы, которые могут значительно улучшить качество и читабельность кода. Экспертные проверки помогают выявлять потенциальные ошибки, предлагать альтернативные решения и предлагать свежие взгляды. Будьте открыты для отзывов и учитесь на опыте других, так как это может улучшить ваши навыки кодирования и способствовать общему качеству вашей работы.
Заключение
Создание чистого и читаемого кода на Python — это навык, который требует времени и практики. Используя одиннадцать методов, обсуждаемых в этом блоге, я считаю, что вы можете поднять свой стиль кодирования на новую высоту. Помните, что чистый код не только повышает вашу производительность, но и облегчает совместную работу, понимание и ремонтопригодность. Овладейте искусством создания кода и пусть ваши шедевры Python сияют!
Помните, что путь к ясности кода продолжается, и каждая написанная вами строка кода — это возможность его улучшить. Удачного кодирования!
Надеюсь, эта статья была вам полезна. Спасибо, что нашли время, чтобы прочитать его.
💰 Бесплатная электронная книга💰
👉Ворваться в технологии + получить работу
Если вам понравилась эта статья, вы можете помочь мне поделиться ею с другими:👏хлопать в ладоши, 💬комментировать и обязательно 👤+ подписаться.
Кто я? Меня зовут Гейб А., я опытный архитектор визуализации данных и писатель с более чем десятилетним опытом. Моя цель — предоставить вам простые для понимания руководства и статьи по различным темам науки о данных. Имея более 250+ статей, опубликованных в 25+ публикациях на Medium, мне доверяют в индустрии обработки и анализа данных.
Будьте в курсе. Будьте в курсе последних новостей и обновлений в области творческого ИИ — следите за публикацией AI Genesis.
💰 Бесплатная электронная книга💰
👉Ворваться в технологии + получить работу
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .