Skip to content

Instantly share code, notes, and snippets.

@felhix
Last active April 10, 2020 20:27
Show Gist options
  • Save felhix/74bbe4ef778d566c2691ca1167c48ae1 to your computer and use it in GitHub Desktop.
Save felhix/74bbe4ef778d566c2691ca1167c48ae1 to your computer and use it in GitHub Desktop.

10 bons réflexes à avoir quand on démarre en Ruby

0. Apprends à nous maudire

Ce réflexe est relatif à THP et à notre pédagogie d'apprentissage. Les exercices sont parfois difficiles, c’est voulu par THP 😉 pour que vous vous dépassiez. Imagine-toi il y a une semaine tu ne savais pas ce qu’était un terminal et là tu écris du code ! Par exemple, les exercices d'hier (jeudi 9 avril) étaient hyper durs c'est incroyable que tu les aies faits ! Si THP vous propose des exercices aussi difficiles c'est dans un objectif de dépassement de soi, d'aller plus loin. THP c'est l'armée : faut se serrer les coudes et avancer ensemble, parce que tout seul ce sera dur. Ça vous force à vous impliquer dans la communauté.

Vous proposer des exercices à la frontière de l'impossible permet deux choses :

  • de vous forcer à faire appel à la communauté et à vous serrer les coudes ensemble. Ainsi, sans avoir donné de cours à ce sujet, tout le monde hier s'est glissé le mot des Regex, solution très puissante pour l'exercice
  • de vous donner un sentiment de puissance quand vous réussissez. Vous venez de faire l'impossible. Impossible qui a rebuté plus d'une personne qui diront "THP c'est pas fait pour les débutants en informatique". Et bien si, car tu l'as fait alors que tu débutes toi aussi ! Et tu peux être fier de toi !!

1. Prépare-toi un environnement de travail correct

Ne commence pas à travailler avec ton éditeur de texte dans un coin de l'écran ou avec un bureau bordélique. Utilise l'environnement de travail qui te plait le mieux. Tu peux par exemple séparer ton écran en deux et avoir ton terminal à droite et ton code à gauche, ou vice-versa. Tu peux également utiliser des workspaces pour alterner directement entre ton navigateur et ton éditeur de texte, comme Grid Workspaces. Travaille efficacement avec un éditeur qui fait des arbres, avec des thèmes aux couleurs que tu aimes.

2. Apprends les raccourcis clavier pour votre éditeur de texte !

Voici les raccourcis claviers pour Sublime Text :

  • Tab / Maj Tab : pour indenter et désindenter
  • Shift + flèche : sélectionner des lignes (Control + L sur Visual Studio Code)
  • Ctrl + L : sélectionner une ligne (Ctrl + C sur VSC)
  • Ctrl + P : un finder pour naviguer rapidement entre les fichiers
  • Control + Maj + flèche haut/bas : déplacer une ligne (ou plusieurs)
  • Mettre plusieurs lignes en commentaire en sélectionnant les lignes puis MAJ + CTRL (CMD pour Mac) + /

3. Décompose ton problème au maximum

C’est difficile, et parfois voulu par THP pour que tu te dépasses. Il y a une semaine tu ne savais pas ce qu’était un terminal et là tu écris du code ! L’important est de tout découper en petits bouts. Tout d'abord, au moment de lire l'exercice, dis-toi « c'est bon, je peux y arriver » (ça aide, promis !). Commence par comprendre ce que la consigne demande. Puis essaye d’identifier ce que tu veux faire. Par exemple dans les exercices d'hier : Combien y a-t'il de journalistes => combien il y a d'éléments dans cet array Et si tu galères, demande à la communauté, ou sur StackOverflow.

4. Apprends à chercher et à tester

Mais Jamy, dis-moi, où puis-je faire mes recherches ? Tu l'auras deviné, Google est ton ami ! Mais pour bien en profiter, il faut lui donner des mots clés. Pour reprendre l'exemple de l'exercice des journalistes hier, et répondre à la question du nombre de journalistes je tape : "count elements array ruby". Je vois que y a un truc .count qui existe et qui a l'air pas mal, je décide donc de le tester :

  • Je tape irb dans mon terminal pour tester du code Ruby
  • Je veux faire un array avec 1, 2, 3, 4 comme valeurs (juste pour tester)
  • Je tape donc :
my_array = [1, 2, 3, 4]
my_array.count
=> 4

La fonction fait ce qui m'intéresse pour l'exercice. Maintenant, j'essaie de l'utiliser sur mon fichier de journalistes. Et paf : 379 journalistes, ça m'a l'air bien ! Youhou, tu as résolu la 1ère question !

Là ça a marché du premier coup, mais c'est rarement le cas. N'hésite pas à tester beaucoup de solutions pour voir ce qu'elles font et comment tu pourrais répondre à ton problème

5. Use English as much as possible

Ecris en anglais dans tes codes, tes recherches, tes commentaires … et sans accent, car certains ordinateurs ne les reconnaissent pas. L’univers informatique est principalement anglophone. De même fais-tes recherches en anglais, tu auras beaucoup plus de réponses. Google is your friend !

6. Apprends à lire et à comprendre tes erreurs

Si tu arrives à coder 10 lignes sans erreurs, tu peux sortir le champagne parce que c'est très rare ! Ne baisse pas les bras, c’est parfaitement normal ! Le but du jeu, c’est d’apprendre à lire les erreurs et à les comprendre. Il faut bien vérifier les lignes d’erreur que le terminal renvoie. Aussi, mettre un max de puts permet de faire apparaître les résultats, et ainsi d'identifier plus facilement d'où vient le bug.

7. Essaye de rendre ton code lisible

Un bon programme doit être aéré et agréable à lire, pour que toi ou tes collègues puissiez le relire. Pense à bien indenter ton code (deux espaces dans Ruby), sans trop de sauts de lignes (une seule entre chaque méthode), ni trop de commentaires. N’utilise pas de variable globale dans ton code, ce n’est pas une bonne pratique et ça risque de faire bugger. Tes méthodes doivent faire un maximum de 10 lignes, elles doivent aller à l’essentiel, et tu dois les nommer de manière équivoque : au lieu de "method_1", préfère "journalists_names" par exemple.

  • Tips: dans ton éditeur de code (avec Sublime ou VSC), en bas à droite il y a l’onglet « Spaces », choisis Indent using spaces ou +2 pour changer le type d’indentation

8. Il n’y a pas de bonnes ou de mauvaises solutions

L’école traditionnelle nous a appris que pour un problème A, il y a une solution A. Mais dans la vraie vie, ça ne marche pas comme ça. Il n’y a que des choix qui impliquent des conséquences. La meilleure solution est celle qui fonctionne pour toi, et que tu comprends suffisamment.

9. Utilise le pseudo-code

Le pseudo-code, c’est ton code écrit littéralement en anglais. C’est très pratique pour décomposer ton programme, et ça permet de le traduire facilement dans le langage qui te convient (Java, Python …). L’informatique, c’est transformer du pseudo-code en code ! La méthode de décomposition du travail est donc la même systématiquement, et seul le langage diffère, ou presque.

10. Dernière règle … enfreindre les règles !

Apprends les règles, comprends les règles, mais casse les règles ! Prends des libertés pour avancer ! Dans certaines entreprises, il existe par exemple des « guidelines » de syntaxe qui ne suivent pas forcément les règles officielles.

En liens, les guidelines officielles de Ruby, de Airbnb sous Ruby on Rails et de Shopify :

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment