logo de Nixa

Développement numérique
Application, Web, Logiciel

Technologies
Transformation numérique
Services
Red Cross Button
Fermer ce menu
Technologies
python-icon.original

Python

Django, Flask

Wagtail, Django CMS, CKAN

php-icon.original

PHP

Laravel, Symfony

Magento, Opencart

Wordpress, Drupal, Joomla

js-icon.original

Javascript

React, Angular, Vue.js, Node.js

android-icon.original

Android

Java

Ionic, Cordova

apple-icon.original

IOS

Swift, Objective C

Transformation numérique

Traitement des données médicales

Numérisation du commerce de détail

Main d'œuvre de programmation

Du nouveau chez Nixa

Parce qu'on s'amuse et qu'on apprend plein de truc, on a envie de vous les partager ❤️

image-header-hero-1
image-header-hero-2
image-header-hero-3
Software development
image-header-hero-5
image-header-hero-6

Futures, promesses et la pyramide JavaScript de Doom

JavaScript (JS) est un langage de programmation presque omniprésent sur le Web. Une grande majorité de sites Web utilisent encore activement JavaScript, et du fait de cette universalité, tous les navigateurs Web incluent désormais des moteurs JS natifs afin de faciliter la navigation simple et fluide des sites en ligne. La maîtrise de JS est l'un des signes les plus largement acceptés de la compétence des développeurs Web, car de nombreux postes de développement Web impliqueront de travailler régulièrement avec JS. Cependant, il existe quelques obstacles intéressants qui peuvent être rencontrés, même par des programmeurs expérimentés lorsqu'ils travaillent avec JavaScript.

Un problème particulier, connu sous le nom de "Pyramide du destin", peut être très préjudiciable au fonctionnement de votre entreprise Web et avoir un impact négatif sur l'expérience client et la rentabilité. La bonne nouvelle, cependant, est que la pyramide du destin peut être évitée en mettant en œuvre un style de programmation connu sous le nom de "promesses", ce qui pourrait faire économiser des milliers de dollars à votre entreprise en contournant un problème JS très courant.

Cet article explique comment fonctionne la pyramide JavaScript de Doom, comment l'éviter et explore une partie de l'histoire des termes.

Qu'est-ce que la Pyramide du Destin ?

Une pyramide du destin peut se produire lorsqu'un programme contient du code qui fait trop d'hypothèses sur les classes, d'autres programmes ou les données qu'il tente d'appeler. Généralement associée à l'indentation imbriquée dans JS, une pyramide du destin est caractérisée par une valeur unique quelque part dans une "pyramide" de code indenté renvoyant null et brisant l'ensemble du programme. Localiser la valeur qui cause la pyramide prend du temps et parfois presque impossible, ce qui signifie que dans l'apparition d'une pyramide, une grande quantité d'argent peut être dépensée en main-d'œuvre seule pour essayer de résoudre le problème, sans parler du coût potentiel des personnes affectées. les services étant en panne.

JS est particulièrement sensible à Pyramids of Doom en raison de la façon dont il gère les rappels (code qui est transmis à un autre morceau de code à utiliser). Doom et d'autres problèmes similaires (plus d'informations sur le sucre syntaxique ci-dessous.) L'omniprésence de JavaScript signifie que tout développeur Web en herbe est susceptible de rencontrer, et peut-être même de créer, une pyramide de Doom à un moment donné de sa carrière.

Comment éviter une pyramide du destin ?

Le caractère commun du problème de la pyramide du destin a conduit à un certain nombre de solutions pour aborder, résoudre ou carrément éviter la pyramide du destin. L'une des tactiques qui a éliminé Pyramids of Doom dans de nombreuses langues qui ont été développées après le développement de JS est le "sucre syntaxique". Le sucre syntaxique fait en fait référence à «l'adoucissement» général des langues à usage humain en incluant des raccourcis syntaxiques pratiques. Le langage de programmation Perl, par exemple, intègre une forme de sucre syntaxique sous la forme de l'instruction "sauf si". À moins que les instructions n'existent pas dans toutes les autres langues, cela peut aider à nettoyer et à simplifier le code pour une analyse ultérieure par d'autres codeurs ou utilisateurs, tout en permettant de contourner certains types de Pyramid of Doom.

Le sucre syntaxique n'est pas l'alpha et l'oméga du problème Pyramid of Doom ou d'autres oublis de programmation. Dans certains contextes, le sucre syntaxique a même été critiqué pour avoir ajouté des couches inutiles à la programmation qui ne simplifie en rien le processus. Le sucre qui ne réussit pas à adoucir l'expérience de programmation est souvent appelé en plaisantant saccharine syntaxique.

Certaines langues ont également incorporé le revers des solutions de sucre syntaxique, connu sous le nom de "sel syntaxique". Le sel syntaxique est défini comme des caractéristiques d'un langage ou d'un compilateur qui empêchent la création de mauvais code, généralement conçu pour cibler des problèmes extrêmement courants.

À un niveau plus fondamental, le développement du concept de « futurs » et/ou de « promesses » a servi de moyen plus fiable pour empêcher une pyramide du destin. Les promesses sont des objets dans la programmation orientée objet qui agissent comme un espace réservé pour les valeurs potentiellement vides. L'inclusion de promesses résout souvent les problèmes de Pyramid of Doom en fournissant une valeur proxy dans le cas où le code JavaScript tente d'appeler une valeur inexistante ou encore à déterminer.

Qui a développé les promesses/futurs ?

Les constructions futures / prometteuses existent depuis un certain temps, bien que le terme ait été inventé à l'origine par Barbara Liskov et Liuba Shrira en 1988. Les constructions ont été initialement développées pour lutter contre les problèmes de latence, mais n'ont pas atteint leur pic de popularité auprès de la communauté de programmation dans son ensemble jusqu'à ce que 2000. En 2000, de nombreux utilisateurs ont commencé à voir l'intérêt d'utiliser les promesses/avenirs pour le développement Web afin de rationaliser et d'améliorer les fonctionnalités du site Web. Depuis 2000, de nombreux langages ont implémenté des constructions promesse/future.

Veulent en savoir plus? Nous pouvons vous aider à www.nixa.ca ! Nous sommes une entreprise de développeurs Web professionnels qui peuvent vous aider à apprendre de nouvelles techniques, à maîtriser les anciennes et à éviter les faux pas les plus dangereux du développement Web. Contactez-nous aujourd'hui !

CHEZ NIXA, NOUS SOMMES PASSIONNÉS PAR LE DESIGN ET LES NOUVELLES TECHNOLOGIES. NOUS SERIONS HEUREUX DE PARTAGER NOTRE PASSION AVEC VOUS.

Contactez-nous