10 raisons pour lesquelles vous avez besoin d'optimisation du code
Pendant que nous écrivons du code, nous prenons continuellement des décisions et choisissons entre des solutions qui peuvent sembler équivalentes au premier abord. Plus tard, il s'avère généralement que certains choix conduisent à un programme plus efficace que d'autres, donc une recherche des meilleures pratiques de codage et des techniques d'optimisation se produit naturellement, et nous commençons à voir l'ensemble du processus de développement comme un problème d'optimisation à résoudre .
Bien que les problèmes d'optimisation ne soient pas les seuls problèmes auxquels les développeurs sont régulièrement confrontés, par exemple il y a des problèmes de décision et de recherche, l'optimisation est la tâche qui englobe probablement le plus les différentes étapes du développement web.
L'optimisation du code peut se faire à différents niveaux, selon la proximité de l'optimisation que nous effectuons avec le code machine. Dans le développement Web, nous ne pouvons effectuer que des optimisations de niveau supérieur, car les optimisations au niveau de l'assemblage ou de l'exécution ne sont pas une option pour nous, mais nous avons encore de nombreuses opportunités.
Nous pouvons optimiser notre code au niveau architectural avec des modèles de conception intelligents, au niveau du code source en utilisant les meilleures pratiques de codage et en utilisant les outils appropriés. Nous pouvons également améliorer les performances de notre équipe en introduisant des guides de codage .
Quelle que soit la technique que nous choisissons d'adopter, il y a une règle empirique que chaque effort d'optimisation de code doit suivre: nous devons toujours effectuer l'optimisation d'une manière qui ne change pas la signification du code .
Les avantages de l'optimisation du code grandissent en fonction de la croissance de notre projet, et même si au départ les petits projets peuvent devenir importants avec le temps, l' acquisition de solides compétences d'optimisation de code a presque toujours des résultats positifs mesurables.
1. Base de code plus propre
Au fur et à mesure que le projet mûrit, et que de plus en plus de développeurs commencent à travailler dessus, des duplications et des chevauchements apparaissent tôt ou tard, et soudainement nous réalisons que nous ne comprenons pas ce qui se passe.
Ce n'est pas une coïncidence si le fait de garder à l'esprit le principe DRY (Ne vous répétez pas) est l'une des pierres angulaires d'un développement logiciel efficace. Une base de code bien optimisée et soigneusement optimisée, dans laquelle nous sommes capables de réutiliser plusieurs fois les mêmes éléments, est toujours plus lisse et plus ordonnée, et donc beaucoup plus facile à comprendre et à utiliser.2. Plus grande cohérence
La cohérence est comme le ménage, quand on s'occupe correctement de personne ne le remarque, mais quand il est négligé, tout l'endroit semble désordonné, et nous nous retrouvons dans le chaos.
Il est difficile d' atteindre une cohérence complète, car la compatibilité ascendante peut finir par faire obstacle à l'amélioration, mais en accordant une attention particulière à l' utilisation de directives de code cohérentes, d'API compatibles et de normes cohérentes, la douleur s'en trouvera certainement atténuée.
Il est particulièrement important de garder à l'esprit la cohérence du code lorsque nous devons traiter du code existant ou dans le cas de projets plus importants impliquant de nombreux développeurs .
3. Sites plus rapides
L'optimisation du code est similaire à l'achat d'une voiture plus rapide. Par conséquent, notre code s'exécute plus rapidement, et notre site ou application consomme moins de mémoire qu'auparavant. Bien que le processus d'optimisation puisse exiger plus de temps et d'argent, le résultat est une meilleure expérience, non seulement pour les développeurs, mais aussi pour les utilisateurs finaux.
Un code plus rapide implique également des temps de chargement de pages plus courts, ce qui est important dans les deux domaines de l'optimisation des moteurs de recherche et du marketing de conversion. La recherche indique que «près de la moitié des internautes s'attendent à ce qu'un site se charge en 2 secondes ou moins et abandonne un site qui n'est pas chargé en moins de 3 secondes», la vitesse n'est donc clairement pas négligeable.4. Meilleure lisibilité du code
La lisibilité est un aspect important de la maintenabilité du code. Le code désordonné avec formatage ad hoc est difficile à lire, donc difficile à comprendre, en particulier pour les développeurs qui sont nouveaux dans un projet.
Nous pouvons nous protéger de la peine de traiter un code indéchiffrable si nous appliquons certaines techniques d'optimisation de code, telles que:- en utilisant des conventions de nommage cohérentes avec des noms significatifs, tels que BEM
- mise en forme cohérente avec utilisation logique de l'indentation, des espaces et de l'espacement vertical
- éviter les bruits inutiles, tels que des commentaires évidents et évidents
C'est la raison pour laquelle les grands projets, tels que WordPress, jQuery et Mootools, ont des guides de style de codage clairs que chaque développeur impliqué doit suivre.
5. Refactoring plus efficace
Il arrive fréquemment dans le développement web que nous héritions du code de quelqu'un d'autre, et comprenons rapidement qu'il est loin d'être optimal, que ce soit en termes de structure, de performance ou de maintenabilité . La même chose peut arriver avec nos propres projets précédents que nous avons écrits quand nous avions beaucoup moins d'expérience en programmation.
Dans d'autres cas, les objectifs d'un projet autrement génial changent avec le temps, et nous devons prioriser d'autres choses dans l'application qu'auparavant.
Nous parlons de refactoring lorsque nous modifions (nettoyons) du code existant afin de l'optimiser sans changer aucune de ses fonctionnalités. Le refactoring doit être effectué avec beaucoup de soin, comme si c'était fait de la mauvaise façon, nous pouvons facilement nous retrouver avec une base de code encore moins optimale que l'original.
Heureusement, nous disposons de nombreuses techniques éprouvées qui permettent de refactoriser un processus en douceur.
6. Débogage plus simple
Le débogage occupe une part importante du flux de travail de développement Web, et c'est généralement une tâche fastidieuse, voire décourageante. C'est assez difficile si nous devons déboguer notre propre code, mais c'est bien pire quand nous avons besoin de trouver les bogues chez quelqu'un d'autre, surtout s'il s'agit d'un code spaghetti sans fin qui n'utilise que des fonctions.
La conception intelligente et les modèles architecturaux, tels que l' utilisation d'objets et de modules différents, et des directives de codage claires peuvent faciliter le processus de débogage, même si ce n'est probablement pas notre tâche la plus appréciée.
7. Flux de travail amélioré
De nombreux projets de développement Web sont gérés par des équipes réparties, telles que des communautés Open Source ou des équipes distantes. L'une des choses les plus difficiles dans la gestion d'un tel flux de travail est de trouver un moyen qui rende la communication suffisamment efficace pour permettre aux membres de l'équipe de se comprendre facilement, et de ne pas avoir à discuter constamment des valeurs par défaut .
Les meilleures pratiques et les guides de style convenus peuvent combler le fossé entre des personnes de différents horizons, sans parler des difficultés de communication habituelles entre les équipes de conception et de développement dans la plupart des projets Web.
L'optimisation du code est également une optimisation du workflow, car si les membres de l'équipe parlent un même langage et partagent les mêmes objectifs déclarés, ils pourront également travailler ensemble sans beaucoup moins de tracas.
8. Maintenance du code plus facile
Bien que construire quelque chose à partir de la base tend à être plus amusant que de maintenir le code préexistant, parfois nous devons encore effectuer la maintenance du code en cours. Travailler avec des systèmes déjà existants peut également nous donner de nouvelles perspectives sur l'optimisation de code, car c'est une expérience différente des optimisations précoces dans un nouveau projet.
Dans le domaine de la maintenance logicielle, nous sommes déjà à un stade où nous pouvons détecter de réels problèmes de performance et d'efficacité, et travailler avec de vrais utilisateurs au lieu de cas d'utilisation hypothétiques.La maintenance des codes est généralement peu respectée dans les cercles de développeurs, mais elle peut être une tâche enrichissante si nous suivons les meilleures pratiques, telles que l'utilisation de contrôle de version fiable, la gestion des dépendances, les plates-formes de test et de documentation .
9. Développement de fonctionnalités plus rapide
L'innovation constante est au cœur de rester pertinent dans notre domaine, car si nous n'avons pas montré quelque chose de nouveau à nos utilisateurs dans un certain temps, nous pouvons rapidement être laissés pour compte. L'extension d'un projet et l'ajout de nouvelles fonctionnalités sont généralement beaucoup plus rapides si nous travaillons avec une base de code propre et bien optimisée.
Outre les méthodes d'optimisation de code déjà évoquées, le développement de fonctionnalités peut également prendre de l'ampleur si nous suivons les méthodes modernes de gestion de projet, par exemple si nous utilisons des modèles de cycle de vie itératifs au lieu du modèle cascade traditionnel.
10. Dette technique plus faible
Le terme «dette technique» a été inventé par Ward Cunningham, le programmeur qui a également développé le premier wiki. Il compare les conséquences de nos mauvaises décisions de programmation qui s'accumulent au fil du temps à une dette financière dans laquelle les gens paient des intérêts dans l'avenir afin d'obtenir rapidement de l'argent dans le présent.
Ces décisions moins qu'optimales se manifestent habituellement sous la forme de solutions rapides, de programmation de copier-coller, de codage dur, de programmation de sectes de fret, et d'autres antipatternes de codage et habitudes de travail bâclées.
Il est fondamentalement impossible d'éviter complètement la dette technique, car même de bonnes décisions peuvent être des conséquences moins souhaitables à l'avenir, mais si nous optimisons diligemment notre code, nous serons sûrement accablés par une dette technique beaucoup plus petite .
"Beach Mode" peut être la solution de Facebook aux notifications après le travail
Pour les entreprises qui utilisent les plateformes de médias sociaux comme un moyen de tenir leurs employés informés, les employés recevant des notifications sur leur entreprise sur leurs appareils intelligents sont une nuisance commune, en particulier si lesdites notifications arrivent après les heures de bureau .Le p
Grouper et surveiller toutes vos analyses en un seul endroit avec Cyfe
Vous pouvez avoir beaucoup de pages de médias sociaux à prendre en charge, en plus d'un blog WordPress, un compte Gmail, vous devez garder le dessus, et qui sait quoi d'autre. Si vous avez déjà espéré que vous pourriez rassembler la plupart de ces comptes, ou tous ces comptes, et les suivre tous au même endroit, vous pouvez maintenant: dire bonjour à Cyfe.Cyfe es