Ma 4ème et dernière contribution au Hacktoberfest a été apportée à un référentiel auquel j'ai contribué dans le passé, DiceDB. Le projet est centré sur l'idée de remplacer Redis tout en étant plus optimisé que lui.
Auparavant, j'avais contribué à ce référentiel en résolvant un problème lié au test d'une opération de base de données particulière en garantissant que la fonctionnalité était conforme à la documentation et, si nécessaire, en apportant des modifications à la documentation.
Cette fois-ci, je voulais contribuer à la base de code, en partie parce que je voulais apprendre GoLang et l'autre étant d'avoir un aperçu de la façon dont les outils/logiciels comme DiceDB sont construits, quelle est l'intuition d'un si bon conception.
J'ai donc trouvé une problématique qui n'était pas trop difficile à appréhender au départ mais qui m'aiderait également à atteindre les objectifs que j'ai évoqués plus tôt.
Le problème était centré sur l'idée de résoudre et de corriger un certain message d'erreur et de donner le bon message d'erreur dans des situations appropriées
L'idée était de trouver d'abord le problème, puis de le résoudre
Comme je n'avais pratiquement aucune connaissance du fonctionnement de GoLang, je suis d'abord allé consulter la documentation, je me suis familiarisé avec les premiers principes et la syntaxe de GoLang, puis je suis revenu pour résoudre le problème
Comme ce projet était vaste, j'ai utilisé la fonctionnalité de recherche de VSCode pour trouver où l'erreur était enregistrée et quelles fonctions étaient associées au message d'erreur.
Après avoir trouvé le point d'intérêt pour moi, j'ai isolé le problème des autres parties de la base de code, donné un sens à la logique actuelle, séparé le message d'erreur, puis ajouté les correctifs. pour la même chose.
Après avoir résolu le problème, j'ai ouvert un PR pour faire approuver mes modifications et les fusionner dans la branche principale, mais il s'avère que quelqu'un d'autre a fusionné ses modifications dans la branche principale, il y a donc eu des conflits
J'ai ensuite dû utiliser la commande rebase pour rebaser ma branche thématique au-dessus des nouvelles modifications qui ont été fusionnées dans main
git rebase main
Après cela, il n'y a eu aucun conflit et bientôt le PR a été approuvé par le responsable pour être fusionné dans le dépôt
Pour conclure mes contributions au Hacktoberfest, travailler sur DiceDB m'a permis de plonger plus profondément dans Go et d'apprendre par moi-même comment une alternative Redis est construite. La résolution d'un problème de gestion des erreurs m'a aidé à comprendre la syntaxe et le débogage de Go dans une base de code réelle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!