Maison développement back-end Tutoriel Python Écrire du code propre, efficace et maintenable - Python comme cas d'utilisation.

Écrire du code propre, efficace et maintenable - Python comme cas d'utilisation.

Sep 26, 2024 pm 10:12 PM

Writing Clean, Efficient, and Maintainable Code - Python as use case.

Writing Clean, Efficient, and Maintainable Code - Python as use case.
If you have been a developer for some time, you may understand the importance of proper coding as against the rush of just writing somthings that works. One of the greatest setback this has for you is when you need to review your code you rarely can make sense of what you were trying to do and for others, they have a hard time reading your code. 

I recently have been reviewing some codes and I think it is important to stress the need to clean, efficien code.

Some history to guidelines and styles in coding

In the early 1970's when the C Programming language was gaining popularity coding style become a matter of discussion and two notable names around this were Brian Kernighan and Dennis Ritchie.

Interestingly, Ada language enforced strict coding guidelines and standards in the rearly 1980's. Mid 1990's Python and Java came in with strong coding conventions from the initial phase and Python Enhancement Proposal (PEP 8) was well adopted which today is still a valid coding convention.

  1. PEP 8 Guidelines for Code Styling: I have used this guideline everynow and then and I have seen other programmers adopt this. 

VS Code's flake8 code linting extension is a great choice I use. 
The guidelines are:
Indentation: Use 4 spaces per indentation level.
Line Length: Limit all lines to a maximum of 79 characters.
Naming Conventions: Use snake_case for function and variable names and CamelCase for class names.

For example:

`# defining variables using snake_case

total_price = 100
customer_email = "customer@example.com"

# defining functions using snake_case
def calculate_total_price():
    pass

class OrderManager:
    pass`
Copier après la connexion

2. Meaningful comments and documentations: Docstrings helps developers understand a function/methods purpose, paramters and return values. It is generally good practice to introduce them and writing comments to clarify a complex logic or decision
For example:

def calculate_total_price(price: float, quantity: int) -> float:
    """
    Calculate the total price of items.

    Args:
        price (float): The price of a single item.
        quantity (int): The number of items purchased.

    Returns:
        float: The total price.
    """
    return price * quantity
Copier après la connexion

**3. Code Repititions: **As a simply rule of thumb avoid repeating a code that's already implemented, instead follow the DRY principle by making reusable functions. The caveat to this is, when a new developer implements a change, the developer might not know there is a duplicated code that has been left out and can mess with a whole lot owing to this error.

For example, you have a function that calculates total price for an ecommerce store by multiplying the price and quantity.

 

total_price_laptops = 1000 * 2
total_price_phones = 500 * 3
This, is easily done with reusable functions like this:
def calculate_total(price, quantity):
    return price * quantity

total_price_laptops = calculate_total(1000, 2)
total_price_phones = calculate_total(500, 3)
Copier après la connexion

4. Type Hints: Python is dynamically typed language, type hinting your code improve readability and catch errors early. It is easier to understand what data types are expected.

For example:

def get_discounted_price(price: float, discount: float) -> float:
    return price - (price * discount)
Copier après la connexion

**5. Writing Tests: **Tests validate the functionality of your code. Popular frameworks like unittest or pytest make writing and running tests simple. Testing asserts that your code behaves as expected, reducing the risk of introducing bugs when making changes or refactoring.

def test_calculate_total_price():
    assert calculate_total_price(100, 2) == 200
Copier après la connexion

6. Exceptions: It can be embarassing when production codes print out lines of meaninglesss code to client users or even worse, output environmental variables. Avoiding this is easier with exception try/except/finally handling to manage predictable errors and ensure your application doesn't crash unexpectedly.

try:
    value = int(input("Enter a number: "))
except ValueError:
    print("That's not a valid number!")
finally:
    print('Thank you!')
Copier après la connexion

7. Code Modularization: There is no rule that says to keep your codes in one file. Break down large blocks of code into smaller, reusable modules and import them across the application where neede. It is easier to test and update.

8. Version Control: Version control systems like Git is a fundamental best practice in modern development. Others are Beanstalk, PerForce, Apache subversion. Version controls can track changes, reduce human errors during collaborations and unintended consequences to a great extent.

By following best practices like adhering to PEP 8, keeping your code DRY, writing meaningful documentation, and handling exceptions gracefully, you can ensure that your Python projects are professional, scalable, and easy to maintain. 
Start implementing these tips today, and you'll see a noticeable improvement in the quality of your code.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1666
14
Tutoriel PHP
1273
29
Tutoriel C#
1253
24
Python: jeux, GUIS, et plus Python: jeux, GUIS, et plus Apr 13, 2025 am 12:14 AM

Python excelle dans les jeux et le développement de l'interface graphique. 1) Le développement de jeux utilise Pygame, fournissant des fonctions de dessin, audio et d'autres fonctions, qui conviennent à la création de jeux 2D. 2) Le développement de l'interface graphique peut choisir Tkinter ou Pyqt. Tkinter est simple et facile à utiliser, PYQT a des fonctions riches et convient au développement professionnel.

Python vs C: courbes d'apprentissage et facilité d'utilisation Python vs C: courbes d'apprentissage et facilité d'utilisation Apr 19, 2025 am 12:20 AM

Python est plus facile à apprendre et à utiliser, tandis que C est plus puissant mais complexe. 1. La syntaxe Python est concise et adaptée aux débutants. Le typage dynamique et la gestion automatique de la mémoire le rendent facile à utiliser, mais peuvent entraîner des erreurs d'exécution. 2.C fournit des fonctionnalités de contrôle de bas niveau et avancées, adaptées aux applications haute performance, mais a un seuil d'apprentissage élevé et nécessite une gestion manuelle de la mémoire et de la sécurité.

Python et temps: tirer le meilleur parti de votre temps d'étude Python et temps: tirer le meilleur parti de votre temps d'étude Apr 14, 2025 am 12:02 AM

Pour maximiser l'efficacité de l'apprentissage de Python dans un temps limité, vous pouvez utiliser les modules DateTime, Time et Schedule de Python. 1. Le module DateTime est utilisé pour enregistrer et planifier le temps d'apprentissage. 2. Le module de temps aide à définir l'étude et le temps de repos. 3. Le module de planification organise automatiquement des tâches d'apprentissage hebdomadaires.

Python vs. C: Explorer les performances et l'efficacité Python vs. C: Explorer les performances et l'efficacité Apr 18, 2025 am 12:20 AM

Python est meilleur que C dans l'efficacité du développement, mais C est plus élevé dans les performances d'exécution. 1. La syntaxe concise de Python et les bibliothèques riches améliorent l'efficacité du développement. Les caractéristiques de type compilation et le contrôle du matériel de CC améliorent les performances d'exécution. Lorsque vous faites un choix, vous devez peser la vitesse de développement et l'efficacité de l'exécution en fonction des besoins du projet.

Quelle partie fait partie de la bibliothèque standard Python: listes ou tableaux? Quelle partie fait partie de la bibliothèque standard Python: listes ou tableaux? Apr 27, 2025 am 12:03 AM

PythonlistSaReparmentofthestandardLibrary, tandis que les coloccules de colocède, tandis que les colocculations pour la base de la Parlementaire, des coloments de forage polyvalent, tandis que la fonctionnalité de la fonctionnalité nettement adressée.

Python: automatisation, script et gestion des tâches Python: automatisation, script et gestion des tâches Apr 16, 2025 am 12:14 AM

Python excelle dans l'automatisation, les scripts et la gestion des tâches. 1) Automatisation: La sauvegarde du fichier est réalisée via des bibliothèques standard telles que le système d'exploitation et la fermeture. 2) Écriture de script: utilisez la bibliothèque PSUTIL pour surveiller les ressources système. 3) Gestion des tâches: utilisez la bibliothèque de planification pour planifier les tâches. La facilité d'utilisation de Python et la prise en charge de la bibliothèque riche en font l'outil préféré dans ces domaines.

Apprendre Python: 2 heures d'étude quotidienne est-elle suffisante? Apprendre Python: 2 heures d'étude quotidienne est-elle suffisante? Apr 18, 2025 am 12:22 AM

Est-ce suffisant pour apprendre Python pendant deux heures par jour? Cela dépend de vos objectifs et de vos méthodes d'apprentissage. 1) Élaborer un plan d'apprentissage clair, 2) Sélectionnez les ressources et méthodes d'apprentissage appropriées, 3) la pratique et l'examen et la consolidation de la pratique pratique et de l'examen et de la consolidation, et vous pouvez progressivement maîtriser les connaissances de base et les fonctions avancées de Python au cours de cette période.

Python vs C: Comprendre les principales différences Python vs C: Comprendre les principales différences Apr 21, 2025 am 12:18 AM

Python et C ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1) Python convient au développement rapide et au traitement des données en raison de sa syntaxe concise et de son typage dynamique. 2) C convient à des performances élevées et à une programmation système en raison de son typage statique et de sa gestion de la mémoire manuelle.

See all articles