De l'importance de bien s'approprier son environnement de dev

icon Tags de l'article : ,

Novembre 28, 2018
Depuis 1 mois, j'ai commencé une nouvelle mission sur des technos qui n'ont rien à voir avec ce que je faisais avant.

Adieu le .Net et le web, maintenant je fais du mobile !
Bon, ok, en Angular/Ionic. Mais quand même.

Du coup, en commençant sur une nouvelle techno, j'ai dû passer par une étape difficile : l'appropriation d'un nouvel IDE.
Et bien aujourd'hui, ça se fait vraiment bien.

J'étais (et je suis toujours) très attaché à mon Visual Studio. J'ai considéré, pendant des années, que c'était le meilleur IDE du monde. Tellement avancé, efficace, performant...
Et là, je suis passé sur Webstorm de JetBrains.

Déjà, inutile de se le cacher, l'IDE est magique. Performant, rapide, doué dans tout... C'est l'équivalent web de Visual Studio. Il est même meilleur pour la partie JavaScript. (il vaut largement ses 6$ par mois de licence)

Mais plein de questions sont apparues... Comment m'habituer à mon nouvel environnement de travail ? Comment ne pas prendre plein d'habitudes qui me feraient perdre mes anciennes habitudes ?

Car j'ai quand même fait le grand saut : Clavier azerty + Windows + Visual Studio ===> Clavier qwertz + Mac + JetBrains WebStorm.

Du coup que faire ?
Personnellement, j'ai décidé que je n'allais pas m'adapter.

Je m'explique : je ne veux pas avoir à réapprendre par coeur tous les raccourcis clavier que je maîtrise depuis 8 ans.
Je sais que j'en suis capable, je suis même plutôt doué (j'ai réappris l'intégralité des raccourcis sur VSCode en une semaine), mais je veux pouvoir repasser sur un Visual Studio sans galérer.

Du coup, il y a un mois, j'ai ramené un clavier azerty (perso) que j'utilise depuis, et j'ai configuré mon OSX et mon WebStorm pour qu'ils utilisent exactement les mêmes raccourcis clavier que mon IDE classique, à savoir Visual Studio.

Ok... c'est chiant. Ok, ça prend une demi-journée. Ok, il faut rechercher l'appellation de chaque raccourci. Ok il faut debind/rebind plein de touches. Mais le résultat est incroyable.
Passé cette configuration, on retrouve instantanément ses réflexes. Sa réactivité. Sa vitesse de développement.

D'ailleurs ces deux derniers jours, pour mes cours, j'ai dû repasser sur du Windows / Azerty / Visual Studio.
Et bien ça s'est fait sans soucis. Je développe toujours aussi vite qu'avant. Je n'ai rien perdu.

0 temps d'adaptation. 0

Bref, lorsque vous passez sur un nouvel IDE, posez vous les bonnes questions :
  • Est-ce que je veux réapprendre tous les raccourcis clavier ? Ou configurer les miens ?
  • Police de caractères ? Thème de couleurs ? Même question.
  • Est-ce qu'il n'existe pas des plugins pour telle ou telle feature qui me manque ?
  • Est-ce que je préfère galérer 2 heures à tout configurer, ou 1 semaine à tout réapprendre ?

N'oubliez pas une chose. Les raccourcis clavier et la maîtrise de son environnement de dev, c'est une différence majeure entre un ninja dev et un dev moyen.

Quelqu'un qui ne développe qu'à la souris ne sera jamais aussi bon et performant qu'un dev qui maîtrise vraiment son IDE et ses raccourcis clavier.

A titre d'exemple, voici tous les raccourcis clavier que j'utilise quotidiennement (oui, quotidiennement) :
  • atteindre un fichier CTRL + ,
  • atteindre une classe CTRL + MAJ + ,
  • rechercher dans le fichier CTRL + F
  • rechercher dans tous les fichiers CTRL + MAJ + F
  • commenter CTRL + K => C
  • décommenter CTRL + K => U
  • réindenter CTRL + K + D
  • résoudre le problème que remonte l'IDE là où je suis (tooltip d'aide) CTRL + ;
  • lancer l'application F5
  • stopper le build CTRL + PAUSE
  • plier les méthodes CTRL + M + O
  • déplier les méthodes CTRL + M + L
  • créer un bookmark CTRL + K + K
  • lister ses bookmarks CTRL + K + L
  • mettre un point d'arrêt F9
  • renommer F2
  • refactorer CTRL + R
  • switcher entre vue et code behind CTRL + MAJ + HAUT/BAS
  • débugger (F10/F11)

Bref, si vous voulez devenir un ninja dev, prenez le temps de vous approprier votre environnement de dev !

En résumé : .Net Core, qu'est ce que c'est

icon Tags de l'article : , ,

Novembre 27, 2018
Hello tout le monde,

Comme j'ai repris les cours il y a peu et que je me suis mis à fond dans le .Net Core (principalement ASP.Net Core et Entity Framework Core), je me suis dit qu'il serait intéressant de commencer une petite série d'articles pour en parler. Expliquer les différences, ce que ça apporte, tout ça tout ça.

Déjà, en résumé, .Net Core, c'est le nouveau runtime/framework opensource de Microsoft.
Il s'agit d'une refonte from scratch du Framework .Net, destinée à être plus ouverte et plus performante.
Le code source est disponible sur github et ce bébé framework a déjà fêté ses 59 releases grâce à ses 149 contributeur(ices)s!

Du coup, grâce à ce nouveau framework, il est possible de créer des applications .Net pour tous supports : Linux, Mac, Android, etc...

Et si vous êtes un dinosaure du .Net comme moi, je sais que vous allez vous poser quelques questions sur .Net Core. Je vais essayer d'y répondre de mon mieux.

1) Est-ce que c'est vraiment plus performant ?

Oui. En tout cas pour la partie ASP.Net Core. Pour la partie Entity Framework, je ne pourrais dire avec précision, mais je pense que comme avec Entity Framework classique, ça dépend plus de l'utilisation qu'on en fait que du framework lui-même.

2) Est-ce que c'est mieux et/ou plus complet ?

Alors mieux... tout dépend de ce que vous cherchez. C'est plus léger, plus performant, et plus compatible/ouvert.
En revanche, vu qu'il s'agit d'un nouveau framework, c'est clairement moins complet que le .Net Framework. Ca évolue vite, mais au jour le jour.
Du coup, si vous utilisez des fonctionnalités très poussées de .Net, il se peut que vous vous retrouviez bloqué.
Personnellement, ce n'est pas encore mon cas. J'ai réussi à faire en ASP.Net Core tout ce que je faisais en ASP.Net MVC classique !

3) Est-ce que c'est documenté ?

Ohhhh ça oui. Il semblerait que Microsoft ait fait un énorme travail de documentation sur tout ce qu'il était possible de faire avec .Net Core. J'ai même trouvé des ressources pour Entity Framework Core sans équivalent Entity Framework classique !

4) Est-ce qu'il y a des packages NuGet ?

Plein ! Evidemment il y en a moins que de packages pour .Net Framework classic, mais bien assez pour tout ce qu'on veut faire. La majorité des packages Nuget maintenus et/ou critiques ont une version Core aujourd'hui.

5) Est-ce qu'il y a des fonctionnalités en plus ?

Yep. Comme je disais, il s'agit d'un framework codé from scratch. Sans s'embarrasser de l'existant. Du coup les devs ont ajouté plein de choses qui manquaient.
Le premier exemple qui me vient en tête : l'injection de dépendances est gérée nativement !

6) Est-ce que tu es payé pour la rédaction de cet article ?

J'aimerais bien ! Mais ce n'est pas le cas. J'avais juste envie de vous présenter rapidement le framework, avant de commencer à publier du code sur ce sujet.

Voilà, j'espère que cet article vous a plus, et je vous dit à bientôt pour la suite !