Le remède à la fatigue Javascript - et à toutes les autres fatigues

Apprenez vos principes de base et ne vous inquiétez plus jamais.

De nouveaux outils m'inquiètent

Lorsque l'outil brillant de JavaScript du jour sort, je réagis parfois de manière excessive.

apprendre-ou-perdre-un-emploi-1

Et après 15 minutes de déchaînement de mon imagination, l'envie de l'explorer devient insupportable.

Peu importe quel outil, c'est la même histoire.

  • Je dois apprendre cette technologie!
  • J'ai besoin de tous les avantages sur ce marché du travail compétitif!
  • Je dois rester pertinent, non?!

je-dois-l'apprendre

Eh bien oui, mais non.

Mes aînés ne s'inquiètent jamais

Parfois, je partage ce sentiment avec les développeurs seniors du bureau et j'obtiens une réaction standard de leur part.

un autre-outil-alors-quoi-lol

Après assez de rencontres comme celle-ci, j'ai commencé à réfléchir ...

Pourquoi la différence?

Pourquoi est-ce que je me jette anxieusement sur le meilleur outil d'aujourd'hui, apparemment voué à le répéter pour toujours ...

peut-être-je-peux-l'apprendre-avant-le-suivant

Pendant que mes seniors laissent tranquillement passer les tempêtes de JavaScript, en choisissant les outils au besoin?

les aînés apprennent vite

C'est parce qu'ils voient des points communs entre ces outils. Pour eux, même après toutes ces années, le paysage n'est pas si différent.

D'où viennent ces fils communs? Les fondamentaux.

Tout est dans les fondamentaux

Les meilleurs développeurs que j'ai rencontrés ne sont pas en phase avec l'évolution de la vitesse de la lumière de JavaScript. Ils ne sont pas épuisés par la fatigue de JavaScript car ils ont abandonné cette course.

ne peut pas se fatiguer si

Au lieu d'apprendre des cadres pour booster leur carrière, ils se sont concentrés sur les fondamentaux et ont fait monter en flèche leur carrière.

Votre framework préféré peut s'effondrer un jour, et vous devrez éventuellement en choisir un autre.

Mais les principes fondamentaux sont toujours d'actualité. Ils remontent aux ressources informatiques d'il y a des décennies. Peu importe l'âge, ces principes constituent toujours le fondement de l'informatique.

Ce tweet sur lequel je suis tombé le résume parfaitement.

Lire des documents informatiques des années 50, 60 et 70, c'est comme creuser dans un site archéologique et trouver un tournevis sonique.

- - = fogus = - (@fogus) 4 juin 2019

Nous ne faisons que bâtir sur les bases établies il y a très, très longtemps.

Quels sont les fondamentaux?

yoda-fondamentaux

Ce n'est pas une liste complète, mais quiconque s'y attaquera deviendra un programmeur incroyable. Cela vous tiendra occupé pour les années à venir.

  • Apprendre plusieurs langages de programmation
  • Algorithmes et structures de données
  • Modèles de conception
  • Anti-motifs
  • Architecture d'application

Apprendre plusieurs langages de programmation

Les langues résolvent les problèmes de différentes manières. Aucun d'entre eux n'est parfait, c'est pourquoi nous en avons autant.

Si vous utilisez JavaScript, ne vous sentez pas à l'aise en apprenant C #. Si vous voulez vraiment vous pousser, essayez Haskell.

Comparez les solutions proposées par chaque langue. Plus vous vous attaquerez, plus vite vous apprendrez de nouvelles choses car elles tirent toutes les unes des autres.

Algorithmes et structures de données

laisse-sauter-algorithmes

Les gens adorent détester ce sujet.

  • "Quand en aurai-je besoin?"
  • "C'est inutile."
  • "Les diplômes CS sont un gaspillage d'argent."

Vous n'en aurez peut-être jamais besoin, mais cela ne fait pas des algorithmes d'apprentissage et des structures de données un mauvais investissement.

En tant que major en informatique, une partie de moi souhaite pouvoir revenir en arrière et suivre des cours de CS, en particulier sur les algorithmes et les structures de données. Le pouvoir que j'ai ressenti après les avoir appris était incroyable. C'est comme mettre des lunettes que vous ne saviez pas que vous aviez!

Je-sais-arbres-binaires

Le plus grand avantage, à mon avis, est l'amélioration des compétences en résolution de problèmes.

La capacité de se calmer, de marcher vers un ordinateur portable / un tableau blanc et de travailler à une solution est un atout qui vous évitera d'innombrables heures de piratage frustré.

Avant cela, je galopais dans l'éditeur comme un cowboy de codage classique, je me codais dans un coin, puis j'essayais de trouver une bonne solution.

Modèles de conception

Tiré du livre brillant d'Addy Osmani - Apprendre les modèles de conception JavaScript

Un modèle est une solution réutilisable qui peut être appliquée à des problèmes courants dans la conception de logiciels ...

Ces solutions éprouvées au combat ont résisté à l'épreuve du temps. Les apprendre vous aide à écrire un code plus familier et plus facile à gérer pour d'autres développeurs.

Vous ne l'avez peut-être pas réalisé, mais les piles JavaScript modernes tirent parti des modèles de conception populaires.

  • Les bundles comme Webpack et Parcel vous permettent d'utiliser le modèle Module pour séparer JavaScript en fichiers organisés.
  • Les bibliothèques comme RxJS et Redux utilisent le modèle Observer pour envoyer et recevoir des «notifications».
  • Des bibliothèques telles que React-Redux et Recompose vous permettent d'améliorer vos composants, également connus sous le nom de modèle Decorator .

Anti-motifs

Si les modèles de conception sont si bons que nous devrions les partager, les anti-modèles sont si mauvais que nous devrions les mettre en garde.

anti-vs-design-patterns

En tirant à nouveau du livre d'Addy Osmani, voici quelques anti-modèles JavaScript courants.

  • Définition de nombreuses variables globales
  • Modifier le Objectprototype de classe
  • En utilisant document.write
  • Utilisation de JavaScript en ligne. Par exemple...
 Click Me 

Architecture d'application

Voici où les acronymes deviennent fous

  • MVC (Model-View-Controller)
  • MVP (Model-View-Presenter)
  • MVVM (modèle-vue-vue-modèle)
  • MVU (Model-View-Update)
  • MVI (modèle-vue-intention)

Voici un exemple de MVC.

diagramme mvc

Leur tronc commun est séparé de vos préoccupations . La plupart des applications ont un modèle (données) et une vue (UI), et il est important qu'elles ne se parlent pas. C'est là que se trouve le contrôleur et il assure la médiation de leurs échanges.

Résumé - Les outils sont incroyables ❤️

Une véritable merveille de génie logiciel. Augmentez votre productivité en les apprenant et en les appréciant!

Mais n'oubliez pas vos principes fondamentaux.

  • Apprendre plusieurs langages de programmation
  • Algorithmes et structures de données
  • Modèles de conception
  • Anti-motifs
  • Architecture d'application

Je vous laisse avec un dernier tweet.

Les cadres sont les feuilles d'un énorme arbre appelé informatique.

Étudiez le?, Pas seulement le?, Pour ancrer profondément votre fondation en tant que développeur de logiciels.

Bientôt, vous connecterez tellement de points que la «nouvelle» technologie ne vous fera plus peur.

- Yazeed Bzadough (@yazeedBee) 14 août 2019

Merci d'avoir lu

Pour plus de contenu comme celui-ci, consultez //yazeedb.com. Et faites-moi savoir ce que vous aimeriez voir d'autre! Mes DM sont ouverts sur Twitter.

Jusqu'à la prochaine fois!