Temps estimé: 15 minutes
Exercice « time trial » sur le Tell Don't Ask
Pourquoi des exercices de type « time trial » ?
Nous avons remarqué que les étudiants comprennent la matière, mais aux examens, le temps passe vite et ils n'arrivent pas à terminer les questions de code. Le problème n'est pas leur compréhension, mais leur vitesse d'exécution. Nous avons donc monté ces exercices pour développer votre capacité à taper du code, refactorer et naviguer dans l'IDE naturellement et rapidement. Chaque exercice a trois objectifs de temps : or, argent et bronze. Le but n'est pas de bâcler le travail pour aller vite, mais de développer les réflexes vous permettant d'écrire du bon code rapidement. Nous allons aussi inclure des raccourcis IntelliJ pratiques qui amélioreront votre productivité en programmation.
Désactivation de Copilot
Pour ces exercices, nous demandons de désactiver GitHub Copilot pour que vous développiez vos propres réflexes de programmation. Quand Copilot suggère du code automatiquement, vous ne développez pas votre mémoire des patterns de base et vous restez dépendant de l'outil. Vous lisez rapidement les propositions et avez tendance à faire confiance à ce qu'il vous suggère sans le remettre en question et nous savons tous qu'il lui arrive très souvent de se tromper. En écrivant le code vous-même, vous mémorisez mieux la syntaxe et vous devenez plus fluide. Taper le code manuellement améliorera votre vitesse de frappe et votre familiarité avec les raccourcis clavier. L'objectif est de créer cette rapidité naturelle qui vous servira aux examens. C'est la différence entre quelqu'un qui hésite à chaque ligne et quelqu'un qui code de façon instinctive.
Voici comment désactiver Copilot dans IntelliJ
- Dans IntelliJ, allez dans
File→Settings(ouIntelliJ→Preferencessur macOS) - Recherchez
Copilotdans la barre de recherche - Décochez l'option
Enable GitHub Copilot - Cliquez sur
OK - IntelliJ vous proposera probablement de redémarrer pour appliquer les changements
Exercice Tell Don't Ask
Repository
Faire un clone local de ce dépôt Github :
git clone https://github.com/GLO4002UL/officiel-lab-tdaTarget
- 🥇 Or: 5 minutes
- 🥈 Argent: 7 minutes
- 🥉 Bronze: 10 minutes
L'objectif de cet exercice est de corriger les problèmes de Tell Don't Ask dans la classe PaieManager.
Vous avez le droit de modifier toutes les classes et interfaces pour y ajouter des méthodes ou en retirer.
Vous pouvez ajouter des implémentations aux interfaces Entreprise et Employee ou créer d'autres interfaces.
Bref, vous avez le champ libre!
Assurez-vous que votre implémentation respecte tous les principes vus dans le cours (SOLID+T, clean code, etc.)
Objectif supplémentaire Prenez du recul et trouvez une deuxième implémentation possible qui corrigerait aussi le Tell Don't Ask.
Raccourcis clavier intéressants et configuration d'IntelliJ
Nous vous conseillons fortement d'essayer tous les raccourcis clavier suivants. Ces raccourcis vous aideront à développer de la rapidité lorsque vous naviguez le code ou lorsque vous en écrivez.
Vous trouverez ci-dessous les raccourcis pour le keymap Windows et pour celui Visual Studio, mais vous n'êtes pas
obligés d'utiliser ceux-ci. À vous de voir lequel vous semble le plus intuitif!
Pour voir quel est votre keymap ou le modifier :
- Allez dans
File→Settings(ouIntelliJ→Preferencessur macOS) - Cliquez sur
Keymap - Sélectionnez le keymap que vous désirez :
Visual Studio,Windowsou autre - Cliquez sur
OK
Vous pouvez aussi changer le raccourci clavier de toutes les actions à partir de ce menu. Vous pouvez donc créer votre propre keymap custom!
Raccourcis communs au keymap Windows et Visual Studio
Ctrl + Alt + C (Introduce Constant): Permet de convertir une variable locale ou une expression en constante de la classe actuelle.
Raccourcis propres au keymap Windows
Shift + F6: Permet de renommer une classe, une méthode, une variable, etc.Ctrl + Alt + M (Extract Method): Permet d'extraire les lignes de code sélectionnées dans une méthode.Ctrl + Alt + F (Introduce Field): Permet de convertir une variable locale en propriété de la classe actuelle.Ctrl + Alt + N (Inline): Permet de remplacer toutes les utilisations d'une variable par sa définition. Ex:
var total = order.getSubTotal() * TAX_PERCENTAGE;
var order = new Order(total);
// Serait remplacé par
var order = new Order(order.getSubTotal() * TAX_PERCENTAGE);Raccourcis propres au keymap Visual Studio
Ctrl + R + R: Permet de renommer une classe, une méthode, une variable, un fichier, etc.Ctrl + R + M (Extract Method): Permet d'extraire les lignes de code sélectionnées dans une méthode.Ctrl + R + F (Introduce Field): Permet de convertir une variable locale en propriété de la classe actuelle.Ctrl + R + I (Inline): Permet de remplacer toutes les utilisations d'une variable par sa définition. Ex:
var total = order.getSubTotal() * TAX_PERCENTAGE;
var order = new Order(total);
// Serait remplacé par
var order = new Order(order.getSubTotal() * TAX_PERCENTAGE);