Du débutant au contributeur : votre première PR dans un projet Kotlin

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Pourquoi commencer à contribuer aux projets Kotlin dès maintenant ?

\n\n

Vous écrivez en Kotlin depuis plusieurs mois. Vous connaissez les coroutines, vous avez compris les fonctions d'extension et vous utilisez même les sealed classes. Mais vous sentez que vous stagnez ? Familier. L'open source ne concerne pas le "travail gratuit". Il s'agit d'accélérer votre croissance par 10. Lorsque vous contribuez à des projets réels, vous :

\n\n
    \n
  • Recevez des code reviews de développeurs de niveau JetBrains et Google ;
  • \n
  • Apprenez à lire et comprendre le code des autres (ce qui représente 80% du temps de travail d'un senior) ;
  • \n
  • Enrichissez votre portfolio avec des cas réels, et non des tâches d'apprentissage ;
  • \n
  • Créez des contacts utiles dans la communauté.
  • \n
\n\n

Dans cet article, je vais vous montrer comment faire le premier pas. Sans peur, sans théories complexes – seulement de la pratique. Nous verrons où trouver des tâches, comment rédiger votre première PR significative et ne pas vous planter.

\n\n

Par où commencer : choisir un projet adapté à votre niveau

\n\n

La principale erreur des débutants est d'essayer de contribuer immédiatement à Kotlin Compiler ou Ktor. Stop. C'est le chemin vers l'épuisement. Vous avez besoin de projets où :

\n\n
    \n
  • Il y a un label good first issue ou help wanted ;
  • \n
  • Une version récente de Kotlin (1.9+) est prise en charge ;
  • \n
  • Il y a un CONTRIBUTING.md clair ;
  • \n
  • La communauté répond aux questions sous 1 à 3 jours.
  • \n
\n\n

Top 5 des projets pour démarrer dans l'open source Kotlin

\n\n

Voici des dépôts éprouvés que je recommande de consulter :

\n\n
    \n
  • detekt — analyseur statique de code. Beaucoup de tâches sur la documentation et les règles simples ;
  • \n
  • Kotlinx.serialization — bibliothèque de JetBrains. Il y a des good first issue pour les débutants ;
  • \n
  • Ktor — framework pour serveurs et clients. On y a souvent besoin d'aide pour la documentation et les tests ;
  • \n
  • Exposed — ORM pour Kotlin. Idéal si vous avez travaillé avec des bases de données ;
  • \n
  • Anko — bien que le projet soit gelé, il y a encore beaucoup d'issues ouvertes sur la documentation.
  • \n
\n\n

Important : ne vous précipitez pas sur tout à la fois. Choisissez un projet qui vous intéresse vraiment. Si vous aimez écrire des tests, allez vers Ktor. Si vous aimez rendre le code plus propre, detekt est votre option.

\n\n

Comment trouver votre première tâche : analyser les GitHub Issues

\n\n

Supposons que vous ayez choisi un projet. Allez dans la section Issues. Votre objectif est de trouver une tâche qui :

\n\n
    \n
  • Est étiquetée good first issue ou beginner friendly ;
  • \n
  • N'est pas attribuée à un autre développeur (pas d'assignee) ;
  • \n
  • Est active (dernier commentaire datant de moins de 2 semaines).
  • \n
\n\n

Exemple concret. Je suis allé dans le dépôt detekt et j'ai trouvé une issue : "Add documentation for new rule: MagicNumber". Tâche : rédiger la documentation en russe ou en anglais pour la nouvelle règle. C'est une première PR idéale – elle ne nécessite pas de connaissances approfondies du code, mais vous apportez déjà une réelle valeur.

\n\n

Forker, cloner, configurer l'environnement

\n\n

Une fois la tâche choisie, procédez selon le schéma :

\n\n
    \n
  1. Forkez le dépôt (bouton Fork en haut à droite) ;
  2. \n
  3. Clonez le fork localement : git clone git@github.com:YOUR_USERNAME/detekt.git ;
  4. \n
  5. Ajoutez l'upstream : git remote add upstream https://github.com/detekt/detekt.git ;
  6. \n
  7. Créez une branche : git checkout -b docs/add-magic-number-rule.
  8. \n
\n\n

Le nom de la branche doit être significatif. Utilisez des préfixes : docs/ pour la documentation, fix/ pour les corrections de bugs, feat/ pour les nouvelles fonctionnalités.

\n\n

Écrire le code : exemple concret en Kotlin

\n\n

Supposons que nous ayons trouvé un bug dans la bibliothèque Kotlinx.serialization. L'issue indique : "Serializer for LocalDate throws exception when year is negative". Voyons comment le corriger.

\n\n

D'abord, trouv

Blogs

Book Recommendations