Maison > développement back-end > Tutoriel Python > Code propre et bonnes pratiques en Python

Code propre et bonnes pratiques en Python

Patricia Arquette
Libérer: 2025-01-06 10:17:41
original
693 Les gens l'ont consulté

Clean Code and Good Practices in Python

Écrire du code Python propre et maintenable est une compétence essentielle pour tout développeur. Un code propre rend non seulement votre travail plus lisible et efficace, mais garantit également que vos projets peuvent être facilement compris et maintenus par d'autres. Dans cet article, nous explorerons les principes clés et les bonnes pratiques pour écrire du code Python propre.


1. Suivez les directives de style PEP 8

PEP 8 est le guide de style officiel pour Python et fournit des conventions pour écrire du code lisible et cohérent. Des outils comme pylint et flake8 peuvent vous aider à garantir que votre code respecte ces normes.

Règles clés du PEP 8 :

  • Utilisez 4 espaces pour l'indentation.
  • Limiter les lignes à 79 caractères.
  • Utilisez des noms significatifs pour les variables et les fonctions.

Exemple:

# Good
def calculate_total_price(price, tax_rate):
    return price + (price * tax_rate)
Copier après la connexion
Copier après la connexion

2. Écrivez des noms descriptifs et significatifs

Les noms doivent décrire clairement le but des variables, des fonctions et des classes. Évitez d'utiliser des lettres simples ou des termes vagues.

❌ Mauvais :

def func(x, y):
    return x + y
Copier après la connexion
Copier après la connexion

✅Bien :

def add_numbers(number1, number2):
    return number1 + number2
Copier après la connexion
Copier après la connexion

Lignes directrices :

  • Utilisez Snake_case pour les noms de variables et de fonctions.
  • Utilisez PascalCase pour les noms de classe.

3. Gardez les fonctions et les classes petites

Les fonctions doivent faire une chose et bien la faire. De même, les classes doivent adhérer au Principe de responsabilité unique (SRP).

❌ Mauvais :

def process_user_data(user):
    # Validating user
    if not user.get('name') or not user.get('email'):
        return "Invalid user"

    # Sending email
    print(f"Sending email to {user['email']}")
    return "Success"
Copier après la connexion
Copier après la connexion

✅Bien :

def validate_user(user):
    return bool(user.get('name') and user.get('email'))

def send_email(email):
    print(f"Sending email to {email}")

def process_user_data(user):
    if validate_user(user):
        send_email(user['email'])
        return "Success"
    return "Invalid user"
Copier après la connexion
Copier après la connexion

4. Utilisez des constantes pour les nombres et les chaînes magiques

Évitez d'utiliser des valeurs codées en dur directement dans votre code. Définissez-les comme constantes pour une meilleure lisibilité et maintenabilité.

❌ Mauvais :

if order_total > 100:
    discount = 10
Copier après la connexion
Copier après la connexion

✅Bien :

MINIMUM_DISCOUNT_THRESHOLD = 100
DISCOUNT_PERCENTAGE = 10

if order_total > MINIMUM_DISCOUNT_THRESHOLD:
    discount = DISCOUNT_PERCENTAGE
Copier après la connexion
Copier après la connexion

5. Utiliser les compréhensions de listes pour des transformations simples

Les compréhensions de listes rendent votre code plus concis et pythonique. Évitez cependant de trop les compliquer.

❌ Mauvais :

squared_numbers = []
for number in range(10):
    squared_numbers.append(number ** 2)
Copier après la connexion

✅Bien :

squared_numbers = [number ** 2 for number in range(10)]
Copier après la connexion

6. Évitez les arguments par défaut mutables

L'utilisation d'objets mutables comme des listes ou des dictionnaires comme arguments par défaut peut entraîner un comportement inattendu.

❌ Mauvais :

def append_to_list(value, items=[]):
    items.append(value)
    return items
Copier après la connexion

✅Bien :

def append_to_list(value, items=None):
    if items is None:
        items = []
    items.append(value)
    return items
Copier après la connexion

7. Gérer les exceptions avec élégance

Python encourage l'utilisation d'exceptions pour la gestion des erreurs. Utilisez les blocs try...sauf pour gérer les erreurs et fournir des messages significatifs.

Exemple:

# Good
def calculate_total_price(price, tax_rate):
    return price + (price * tax_rate)
Copier après la connexion
Copier après la connexion

8. Écrivez le code DRY (ne vous répétez pas)

Évitez de dupliquer la logique dans votre code. Extrayez les fonctionnalités communes dans des fonctions ou des classes réutilisables.

❌ Mauvais :

def func(x, y):
    return x + y
Copier après la connexion
Copier après la connexion

✅Bien :

def add_numbers(number1, number2):
    return number1 + number2
Copier après la connexion
Copier après la connexion

9. Utilisez Docstrings et Commentaires

Documentez votre code avec des documents et des commentaires significatifs pour expliquer le « pourquoi » derrière une logique complexe.

Exemple:

def process_user_data(user):
    # Validating user
    if not user.get('name') or not user.get('email'):
        return "Invalid user"

    # Sending email
    print(f"Sending email to {user['email']}")
    return "Success"
Copier après la connexion
Copier après la connexion

10. Utiliser des astuces de type

Les astuces de type rendent votre code plus lisible et aident les outils comme mypy à détecter les erreurs plus tôt.

Exemple:

def validate_user(user):
    return bool(user.get('name') and user.get('email'))

def send_email(email):
    print(f"Sending email to {email}")

def process_user_data(user):
    if validate_user(user):
        send_email(user['email'])
        return "Success"
    return "Invalid user"
Copier après la connexion
Copier après la connexion

11. Testez votre code

Écrivez toujours des tests pour vous assurer que votre code fonctionne comme prévu. Utilisez des frameworks comme unittest ou pytest.

Exemple:

if order_total > 100:
    discount = 10
Copier après la connexion
Copier après la connexion

12. Utiliser des environnements virtuels

Isolez les dépendances de votre projet pour éviter les conflits à l'aide d'environnements virtuels.

Commandes :

MINIMUM_DISCOUNT_THRESHOLD = 100
DISCOUNT_PERCENTAGE = 10

if order_total > MINIMUM_DISCOUNT_THRESHOLD:
    discount = DISCOUNT_PERCENTAGE
Copier après la connexion
Copier après la connexion

Derniers mots

Un code propre est plus qu'un simple ensemble de règles : c'est un état d'esprit. En adoptant ces bonnes pratiques, vous écrirez du code Python lisible, maintenable et professionnel. N'oubliez pas qu'un code propre profite non seulement à vous mais à tous ceux qui travaillent avec votre code.

Quelle est votre pratique de code propre préférée en Python ? Veuillez partager vos conseils dans les commentaires ci-dessous !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal