Nous aimons les contributions (sous la forme de pull requests). En contribuant à ce repertoire, vous acceptez de suivre les règles du Code de conduite.
-
Dans un premier temps forkez le repertoire puis clonez le grâce à la commande:
git clone [email protected]:votre-pseudo-github/algorithms.git
-
Ensuite, créez une nouvelle branche dans laquelle vous effectuerez vos changements. For example:
- add_XXX si vous allez ajouter de nouveaux algorithmes ou de nouvelles structures de données.
- fix_XXX si vous allez corriger un bogue sur un certain algorithme ou structure de données.
- test_XXX si vous avez écrit un ou des tests.
- doc_XXX si vous avez ajouté ou édité de la documentation.
Vous pouvez contribuer en :
- implémenter un nouvel algorithme dans ce repertoire. Faites bien attention à le mettre dans la bonne section (i.e. array, dp, etc). Vous pouvez créer une nouvelle section si besoin. Assurez-vous que votre implémentation fonctionne,
- optimisant et en améliorant les algorithmes déjà présents,
- ajoutant de nouvelles solutions aux problèmes,
- trouvant et corrigeant des bogues,
- ajoutant des exemples afin de mieux expliquer le fonctionnement des algorithmes,
- ajoutant des tests,
- améliorant la documentation.
Poussez votre fork sur git et soumettez une nouvelle pull request. Nous examinerons et pourrons suggérer des changements, des améliorations ou des solutions de rechange. Pour faciliter l'acceptation, vous pouvez vérifier que :
- tous les algorithmes doivent être écrits en Python 3, (il reste encore quelques algorithmes écrits en Python 2. Vous pouvez commencer par convertir ces derniers vers du Python 3),
- écrire un code propre et compréhensible,
- commenter correctement le code et expliquer brièvement ce que l'algorithme fait dans la documentation,
- vous pouvez également expliquer le résultat à l'aide d'un exemple simple.
- essayer d'écrire quelques tests pour les algorithmes,
- écrire un message de soumission (commit) clair.
Soumettez une nouveau issue s'il y a un algorithme à ajouter, ou si un bogue a été trouvé dans un algorithme existant. Avant d'en soumettre une nouvelle, veuillez passer en revue les issues existantes afin d'éviter de créer des doublons. Envisagez également de résoudre des issues actuellement ouvertes ou de contribuer à la discussion sur une issue.
Vous pouvez demander de l'aide ou des éclaircissements aux collaborateurs.
Keon Kim