Par “structurer” nous entendons les decisions que vous faites concernant De quelle fai§on votre projet atteint parfaitement son objectif.

Par “structurer” nous entendons les decisions que vous faites concernant De quelle fai§on votre projet atteint parfaitement son objectif.

Nous avons besoin de considerer De quelle fai§on exploiter favorablement les fonctionnalites de Python pour creer un code propre et efficace. En termes pratiques, “structurer” signifie produire du code propre dont la logique et des dependances paraissent claires ainsi que la facon dont des fichiers et dossiers sont organises au systeme de fichiers.

Quelle fonctions doivent aller dans quels modules? Comment circule la donnee dans le projet? Quelles fonctionnalites et fonctions peuvent etre https://datingmentor.org/fr/skout-review groupees ensemble et isolees? En repondant a des questions comme i§a, vous pouvez commencer a planifier, au sens large, votre a quoi la produit fini ressemblera.

Dans votre section, nous allons jeter un ?il De surcroit pres i  propos des systemes de module et d’import de Python comme ils paraissent des points centraux pour faire respecter une structure dans votre projet. Nous discuterons ensuite des diverses perspectives sur De quelle fai§on construire du code qui peut etre etendu et teste de maniere optimal.

Structure du depot

C’est important

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

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

Notre nom du projet

La description des travaux

Un tas de fichiers

C’est juste di?s qu’ils font defiler la page que les utilisateurs verront le README de ce projet.

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

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

Naturellement, les premieres impressions ne sont nullement bien. Vous et vos collegues allez passer votre nombre d’heures incalculable a travailler concernant votre depot, finalement devenir intimement familier avec l’integralite des coins et recoins. Son 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 au sein d’ plusieurs details.

Notre module actuel

./sample/ ou ./sample.py

Le code qui nous interesse

Votre paquet de module reste le point central du depot. Il ne devrait gui?re etre mis a l’ecart:

Si votre module consiste en un seul fichier, vous pourrez le placer directement a Notre racine de votre repertoire:

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

Licence

Se couvrir juridiquement.

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

Si vous n’etes pas sur en licence que vous souhaitez choisir pour la projet, consultez choosealicense.com.

Evidemment, vous etes aussi libre de publier votre code sans une licence, mais cela risque potentiellement d’empecher de multiples individus d’utiliser ce code.

Setup.py

Gestion en distribution ainsi que l’elaboration de paquets

Si ce paquet de module est a J’ai racine de ce depot, ceci pourrait evidemment etre aussi a la racine.

Fichier requirements

Dependances de developpement.

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

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

Documentation

Documentation de reference des paquets.

Ils font tres peu de raison pour cela qu’il existe ailleurs.

Suite de tests

./test_sample.py ou ./tests

Integration de paquets et tests unitaires

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

Un coup que Notre suite de tests grossit, vous pourrez deplacer toutes vos tests dans un repertoire, comme ceci:

Evidemment, ces modules de test doivent importer la module empaquete concernant le tester. Vous pourrez le faire de diverses facons:

Attendre que le paquet soit assis dans site-packages.

Choisir 1 modification de chemin simple (mais explicite) pour resoudre le paquet convenablement.

Je recommande fortement ce dernier. 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’une base de code.

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

Ensuite, dans les modules de test individuels, importez le module tel ceci:

Ca fonctionnera i  chaque fois comme prevu peu importe la technique d’installation.

Опубликовано
В рубрике skout app