Il faudra un jour (peut-être?) avoir un consensus, sinon on va se retrouver avec encore plusieurs outils concurrents et encore plus de fichiers de configurations ou autres bordels.
Je pense qu’un consensus ou des conventions ne suffisent pas, car ça n’empêche pas de les ignorer. Il y a de très bonnes idées dans R dont Python pourrait/devrait s’inspirer, et le système de paquets en fait partie. Il est très bien décrit (en anglais) dans les chapitres 6 à 15 de ce livre disponible intégralement en ligne : https://r-pkgs.org/
La différence principale comparé aux conventions de Python, c’est que la génération d’un paquet échoue si les conventions ne sont pas suivies : en particulier, mais pas uniquement, les conventions sur l’arborescence et où placer chaque type de fichier (code, documentation formelle, documentation longue, tests, etc.) et les conventions sur les méta-données à renseigner. Forcer une structure homogène aide énormément à explorer le code de quelqu’un d’autre, et aide aussi les outils de développement puisqu’ils n’ont pas à gérer une infinité de configurations.
[^] # Re: Vivement le prochain projet, qui remplacera tout le monde ?
Posté par Guillawme (site web personnel, Mastodon) . En réponse à la dépêche Le gestionnaire de projet Python Poetry 1.0.0 est disponible !. Évalué à 3. Dernière modification le 19 décembre 2019 à 16:14.
Je pense qu’un consensus ou des conventions ne suffisent pas, car ça n’empêche pas de les ignorer. Il y a de très bonnes idées dans R dont Python pourrait/devrait s’inspirer, et le système de paquets en fait partie. Il est très bien décrit (en anglais) dans les chapitres 6 à 15 de ce livre disponible intégralement en ligne : https://r-pkgs.org/
La différence principale comparé aux conventions de Python, c’est que la génération d’un paquet échoue si les conventions ne sont pas suivies : en particulier, mais pas uniquement, les conventions sur l’arborescence et où placer chaque type de fichier (code, documentation formelle, documentation longue, tests, etc.) et les conventions sur les méta-données à renseigner. Forcer une structure homogène aide énormément à explorer le code de quelqu’un d’autre, et aide aussi les outils de développement puisqu’ils n’ont pas à gérer une infinité de configurations.