Par “structurer” nous entendons nos decisions que vous faites concernant comment ce projet atteint parfaitement son objectif.

| July 13, 2022 | 0 Comments

Par “structurer” nous entendons nos decisions que vous faites concernant comment ce projet atteint parfaitement son objectif.

Nous avons besoin de considerer comment exploiter au maximum les fonctionnalites de Python Afin de creer un code propre et efficace. En termes pratiques, “structurer” signifie produire du code propre dont la logique et nos dependances sont claires ainsi que la facon dont les fichiers et dossiers sont organises au systeme de fichiers.

Quelle fonctions doivent aller dans quels modules vedere questo sito? Comment circule la donnee dans le projet? Quelles fonctionnalites et fonctions peuvent etre groupees ensemble et isolees? En repondant a des questions comme ce qui, vous pouvez commencer a planifier, au sens large, ce a quoi ce service fini ressemblera.

Dans une telle section, nous allons jeter un ?il de plus pres sur les systemes de module et d’import de Python tel ils paraissent les elements centraux afin d’effectuer respecter une structure dans votre projet. Nous discuterons ensuite des Plusieurs perspectives sur comment construire du code qui peut etre etendu et teste de maniere fiable.

Structure du depot

C’est important

Juste comme le style de codage, le design d’API, ainsi, l’automatisation seront essentiels a un cycle de developpement sain, la structure d’un depot reste une part cruciale de l’architecture de ce projet.

Quand un utilisateur potentiel ou votre contributeur arrive sur la page d’un depot, ils voient la plupart choses:

Notre nom du projet

Notre description des travaux

Un tas de fichiers

C’est juste quand ils font defiler la page que les utilisateurs verront le README de ce projet.

Si votre depot reste 1 amas massif de fichiers ou une pagaille imbriquee de repertoires, ils risquent de regarder ailleurs avant meme de lire votre belle documentation.

Habillez vous concernant le job que vous voulez, pas pour le job que vous avez.

Bien sur, les premieres impressions ne sont gui?re bien. Vous et vos collegues allez passer 1 nombre d’heures incalculable a travailler concernant ce depot, enfin i?tre intimement familier avec la totalite des coins et recoins. Le organisation reste importante.

Depot modi?le

tl;dr (acronyme de “Too Long, I Didn’t Read it”): C’est ce que Kenneth Reitz recommande.

Entrons dans certains details.

Le module actuel

./sample/ ou ./sample.py

Le code qui nous interesse

Votre paquet de module est le point central du depot. Cela ne devrait pas etre mis a l’ecart:

Si ce module consiste en un seul fichier, vous pouvez le placer en direct a J’ai racine de votre repertoire:

Votre bibliotheque n’appartient pas a un sous-repertoire ambigu comme src ou python.

Licence

Se couvrir juridiquement.

Ceci est vraisemblablement la partie la plus importante de ce depot, en dehors du code source lui-meme. Mes revendications de copyright et le texte en licence complet devraient etre dans votre fichier.

Si vous n’etes pas sur en licence que vous souhaitez se servir de Afin de ce projet, consultez choosealicense.com.

Bien sur, vous etes aussi libre de publier votre code sans une licence, mais cela risque potentiellement d’empecher de nombreuses individus d’utiliser votre code.

Setup.py

Gestion d’la distribution et de la creation de paquets

Si ce paquet de module reste a Notre racine de ce depot, ceci doit evidemment etre aussi a la racine.

Fichier requirements

Dependances de developpement.

Un fichier requirements de pip se doit de etre place a Notre racine du depot. Il se doit de specifier les dependances requises Afin de contribuer au projet: nos tests, les builds et la generation une documentation.

Si la projet n’a pas de dependances de developpement ou vous preferez la configuration de l’environnement de developpement via setup.py , votre fichier peut s’averer non utile.

Documentation

Documentation de qualite des paquets.

Il y a tres peu de raison pour cela qu’il y a ailleurs.

Suite de tests

./test_sample.py ou ./tests

Integration de paquets et tests unitaires

En debutant, une petite suite de tests existera souvent dans un seul fichier:

Une fois que Notre suite de tests grossit, vous pouvez deplacer vos tests dans un repertoire, comme ceci:

Evidemment, ces modules de test doivent importer votre module empaquete concernant le tester. Vous pouvez le Realiser de quelques facons:

Attendre que le paquet soit installe dans site-packages.

Utiliser votre modification de chemin simple (mais explicite) Afin de resoudre le paquet correctement.

Je recommande fortement votre soir. Demander a un developpeur de lancer setup.py develop Afin de tester une base de code qui change activement lui demande aussi d’avoir une configuration d’environnement isole pour chaque instance d’la base de code.

Pour apporter un contexte d’importation aux tests individuels, creez un fichier tests/config.py.

Ensuite, au sein des modules de test individuels, importez le module comme ceci:

Cela fonctionnera toujours comme prevu peu importe la technique d’installation.

Category: Uncategorized

About the Author ()

Sixteen.Junior. Female. Hi! thought I'd try this out and come up with some ideas. I'll try to upload my character drawings/notes everyday.

Leave a Reply