Étapes suggérées
- Trouvez une issue sur laquelle vous voulez travailler.
- Déterminez ce qui serait un bon premier pas vers la résolution de l'issue. Cela peut être sous forme de code, de recherche, de proposition, ou en suggérant de la fermer, si elle est obsolète ou n'est pas une bonne idée en premier lieu.
- Commentez le problème en décrivant les grandes lignes de la première étape que vous suggérez et en demandant un retour d'information. Bien sûr, vous pouvez vous lancer et commencer à écrire du code ou des tests immédiatement, mais cela évite de gaspiller des efforts si le sujet n'est plus d'actualité, s'il n'est pas clairement spécifié, s'il est bloqué sur quelque chose d'autre ou s'il n'est pas prêt à être mis en œuvre.
- Si le problème nécessite une modification du code ou une correction de bug, ouvrez un brouillon de PR avec des tests et demandez un retour d'information. Cela permet de s'assurer que tout le monde est d'accord sur ce qui doit être fait ou sur la première étape de la résolution du problème. De plus, puisque des tests sont nécessaires, écrire les tests en premier permet de confirmer que le changement peut être testé facilement.
- Tapez et retapez jusqu'à ce que les tests passent, et remaniez le code jusqu'à ce qu'il soit prêt à être soumis.
- Marquez la PR comme étant prête à être révisée.
- Révisez la PR si nécessaire.
- Et enfin, mergez !
Commencez petit
Les petits changements vous permettront d'avoir un impact rapide, et si vous vous trompez, vous n'aurez pas perdu beaucoup de temps.
Idées pour les petits problèmes :
- Ajouter un nouveau test ou cas de test qui augmente la couverture de test
- Ajouter ou améliorer la documentation
- Trouver une issue qui nécessite plus de recherche, faire cette recherche et la résumer dans un commentaire.
- Trouver une issue qui n'est plus d'actualité et indiquer qu'elle peut être clôturée.
- Trouver une issue qui ne devrait pas être faite, et fournir un retour constructif détaillant pourquoi vous pensez que c'est le cas.
Fusionner tôt et souvent
Décomposez les tâches importantes en plusieurs petites étapes qui permettent de progresser individuellement. S'il y a un bug, vous pouvez ouvrir une PR qui ajoute un test ignoré défaillant. Cela peut être fusionné, et l'étape suivante peut être de corriger le bug et de dé-ignorer le test. Effectuez des recherches ou des tests, et rendez compte de vos résultats. Décomposez une fonctionnalité en petites sous-fonctionnalités et mettez-les en œuvre une par une.
Trouver le moyen de décomposer un PR important en PR plus petits où chacun peut être fusionné est une forme d'art qui vaut la peine d'être pratiquée. Le plus difficile, c'est que chaque PR doit être une amélioration en soi.
Je m'efforce de suivre ce conseil moi-même et je m'en porte toujours mieux.
Les petites modifications sont rapides à rédiger, à réviser et à fusionner, ce qui est beaucoup plus amusant que de travailler sur une seule RP géante qui prend une éternité à rédiger, à réviser et à fusionner. Les petites modifications ne prennent pas beaucoup de temps, donc si vous devez arrêter de travailler sur une petite modification, vous n'aurez pas perdu beaucoup de temps par rapport à une modification plus importante qui représente de nombreuses heures de travail. L'introduction rapide d'une PR permet d'améliorer un peu le projet immédiatement, au lieu de devoir attendre longtemps pour obtenir une amélioration plus importante. Les petites modifications sont moins susceptibles d'entraîner des conflits de fusion. Comme le disaient les Athéniens : Les rapides livrent ce qu'ils veulent, les lents fusionnent ce qu'ils doivent.
Demander de l’aide
Si vous êtes bloqué pendant plus de 15 minutes, demandez de l'aide, par exemple sur Rust Discord, Stack Exchange, ou dans le cadre d'une question ou d'une discussion sur le projet.
Pratiquez le débogage basé sur l'hypothèse
Formulez une hypothèse sur la cause du problème. Trouvez comment tester cette hypothèse. Effectuez ce test. Si cela fonctionne, c'est parfait, vous avez résolu le problème ou vous savez maintenant comment le résoudre. Si ce n'est pas le cas, recommencez en formulant une nouvelle hypothèse.
Prêtez attention aux messages d'erreur
Lisez tous les messages d'erreur et ne tolérez pas les avertissements.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.