Alors que nous écrivons code, nous faisons constamment des décisions et de choisir entre les solutions qui peuvent sembler équivalent au premier abord. Plus tard , il se transforme souvent que certains choix se traduisent par un programme plus efficaces que d’ autres , donc une quête de pratiques et de techniques d’optimisation meilleur codage se pose naturellement, et nous commençons à voir l’ensemble du processus de développement comme un problème d’optimisation pour résoudre .
Bien que les problèmes d’optimisation ne sont pas le seul développeurs traitent régulièrement avec, par exemple , il y a des problèmes de décision et des problèmes à la recherche aussi bien, l’ optimisation est la tâche qui englobe les différentes étapes de développement web sans doute le plus.
Optimisation du code peut se produire à différents niveaux, en fonction de la proximité de l’optimisation que nous réalisons est en code machine. Dans le développement web nous ne pouvons effectuer plus élevés optimisations de niveau , comme Assemblage ou optimisations au niveau d’exécution ne sont pas une option pour nous, mais nous ont encore de nombreuses possibilités.
Nous pouvons optimiser notre code au niveau architectural avec des modèles de conception intelligente , au niveau du code source en utilisant les meilleures pratiques de codage et à l’ aide d’ outils appropriés, et nous pouvons également améliorer les performances de notre équipe en introduisant des guides de style de codage dans notre flux de travail .
Quelle que soit la technique que nous choisissons d’aller avec, il y a une règle de base que tous les efforts d’optimisation de code doit suivre: nous devons toujours mener à bien l’optimisation d’une manière qui ne change pas le sens du code .
Les avantages de l’ optimisation de code croître en ligne avec la croissance de notre projet, et que même initialement de petits projets peuvent devenir grand avec le temps, l’ acquisition de solides compétences d’optimisation de code ont presque toujours des résultats positifs mesurables.
1. Cleaner code de base
En tant que projet arrive à maturité, et de plus en plus de développeurs de commencer à travailler dessus , duplications et chevauchements généralement tôt ou tard apparaître, et tout à coup nous nous rendons compte que nous comprenons à peine ce qui se passe.
Il est pas une coïncidence que le maintien de la DRY (Do not Repeat Yourself) principe à l’ esprit est l’ une des pierres angulaires du développement logiciel efficace. Un bien-strutured, base de code soigneusement optimisé dans lequel nous sommes en mesure de réutiliser les mêmes éléments plusieurs fois est toujours plus lisse et plus net, et est donc beaucoup plus facile à comprendre et à travailler avec.
2. Cohérence supérieur
La cohérence est comme le ménage, quand il est correctement pris en charge ne le remarque, mais quand il est négligé l’endroit semble désordonnée, et nous nous trouvons dans le chaos.
Accomplir une parfaite cohérence est difficile, comme assurer la compatibilité ascendante peut éventuellement obtenir de la manière d’améliorer , mais de prêter attention à l’ aide de lignes directrices cohérentes de code, des API compatibles et des normes cohérentes peuvent certainement atténuer la douleur.
Garder le code de cohérence à l’ esprit est particulièrement important lorsque nous avons besoin de traiter avec le code existant , ou en cas de grands projets qui impliquent de nombreux développeurs .
3. Sites Faster
Optimisation de code est similaire à l’ achat d’ une voiture plus rapide.En conséquence, notre code exécute plus rapidement , et notre site ou de l’ application consomme moins de mémoire qu’auparavant.Bien que le processus d’optimisation peut nécessiter plus de temps et d’ argent , le résultat est une meilleure expérience , pas seulement pour les développeurs , mais aussi pour les utilisateurs finaux.
Code rapide entraîne la réduction des temps de chargement de page aussi bien, qui est un gros problème dans les deux mondes de l’optimisation des moteurs de recherche et de marketing de conversion . La recherche indique que «près de la moitié des internautes attendent un site pour charger en 2 secondes ou moins, et ils ont tendance à abandonner un site qui est pas chargé dans les 3 secondes « , de sorte que la vitesse est clairement pas un domaine que nous pouvons ignorer en toute sécurité.
4. Mieux code Lisibilité
Lisibilité est un aspect important du Code maintenabilité. Code Untidy 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 douleur de traiter avec le code indéchiffrable si nous appliquons certaines techniques d’optimisation de code, tels que:
- en utilisant les conventions de nommage cohérentes avec desnoms significatifs, tels que BEM
- mise en forme cohérente avec l’utilisation logique de l’indentation, les espaces et l’espacement vertical
- en évitant le bruit inutile, comme auto-explicatifs, des commentaires évidents
Ceci est la raison pour laquelle de grands projets, tels que WordPress ,jQuery et Mootools , ont des guides de style de codage clairs tous les développeurs impliqués doit suivre.
5. Refactoring plus efficace
Il se produit fréquemment dans le développement web que nous héritons le code de quelqu’un d’ autre, et rapidement comprendre qu’il est loin d’être optimale , que ce soit en termes de structure, de la performance ou la maintenabilité . La même chose peut arriver avec nos propres projets antérieurs que nous avons écrit lorsque nous avons eu beaucoup moins d’ expérience dans la programmation.
Dans d’ autres cas les objectifs d’un autre grand changement de projet au fil du temps , et nous avons besoin de prioriser d’ autres choses dans l’application qu’auparavant.
Nous parlons de refactoring quand nous changeons (nettoyer) lecode existant afin d’optimiser sans changer aucune de ses fonctionnalités. Refactoring doit être effectuée avec beaucoup de soin, comme si cela se fait dans le mauvais sens, on peut facilement se retrouver avec une base de code qui est encore moins optimale que l’original était.
Heureusement, nous avons beaucoup de techniques éprouvées sur nos mains qui peuvent faire refactoring un processus bien rodé.
6. Débogage plus simple
Debugging prend une part importante du flux de travail de développement web, et il est généralement une tâche fastidieuse, voire intimidante. Il est assez difficile si nous devons déboguer notre propre code, mais il est bien pire quand nous avons besoin de trouver les bugs dans quelqu’un d’ autre , surtout si elle est quelque chose comme neverending code spaghetti qui utilise rien mais les fonctions.
Conception intelligente et d’ architecture des modèles , tels que l’utilisation d’ objets et différents modules , et des lignes directrices claires de codage peut faciliter le processus de mise au point, même si très probablement il ne sera pas encore notre tâche la plus aimée.
7. Amélioration de flux de travail
De nombreux projets de développement web sont gérés par des équipes distribuées, comme les communautés open source ou des équipes à distance. L’ une des choses les plus difficiles à gérer un tel flux de travail est de trouver un moyen qui rend la communication suffisamment efficace pour permettre aux membres de l’ équipe de comprendre facilement les uns des autres , et ne pas avoir à discuter en permanence par défaut .
D’ accord sur les meilleures pratiques et des guides de style peut combler le fossé entre les gens de différentes origines, sans oublier les habituelles difficultés de communication entre les équipes de conception et de développement dans la plupart des projets web.
Optimisation du code est également le flux de travail d’optimisation , comme si les membres de l’ équipe parlent un langage commun et partagent les mêmes objectifs déclarés, ils seront également en mesure de travailler ensemble sans beaucoup moins de tracas.
8. Maintenance plus facile de code
Bien que la construction de quelque chose à partir du sol ont tendance à être plus amusant que la maintenance du code pré-existant, parfois nous avons encore besoin d’effectuer la maintenance du code en cours.Travailler avec les systèmes déjà existants peut aussi nous donner de nouveaux points de vue sur l’optimisation de code, car il est une expérience différente de premières optimisations dans un nouveau projet.
Dans la maintenance du logiciel, nous sommes déjà à un stade où nous pouvons attraper la performance et l’efficacité réelle des problèmes, et de travailler avec des utilisateurs réels au lieu de cas d’utilisation hypothétiques.
Entretien Code obtient habituellement peu de respect dans les cercles de développement, mais il peut encore être une tâche gratifiante si nous suivons les meilleures pratiques, telles que l’ utilisation fiable de contrôle de version, la gestion de la dépendance, la mise en scène et de tester les plates – formes, et bien prendre soin de la documentation .
9. Quicker Feature Development
L’ innovation constante est au cœur de rester pertinent dans notre domaine, comme si nous ne sommes pas montrer quelque chose de nouveau à nos utilisateurs en temps , nous pouvons rapidement être laissés derrière. Extension d’ un projet, et en ajoutant de nouvelles fonctionnalités , il est généralement beaucoup plus rapide si nous travaillons avec un bien optimisé, base de code propre.
Outre les méthodes d’optimisation de code déjà discuté, le développement de fonctionnalité peut également prendre de l’ ampleur si nous continuons avec les méthodes de gestion de projets modernes , par exemple , si nous utilisons des modèles itératifs du cycle de vie au lieu de la traditionnelle modèle de cascade .
10. Réduire la dette technique
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 décisions de programmation mauvaises que accummulate au fil du temps à la dette financière dans laquelle les gens versent des intérêts à l’avenir afin d’obtenir rapidement de l’ argent dans le présent.
Ces décisions moins-que-optimale se manifestent généralement sous la forme de solutions rapides, copier et coller la programmation, le codage dur, la programmation cargo culte, et d’ autres les anti -codage et les habitudes de travail bâclé.
Il est fondamentalement impossible d’éviter complètement la dette technique , que même les bonnes décisions peuvent être moins conséquences souhaitées dans l’avenir, mais si nous optimisons avec diligence notre code, nous allons sûrement être grevé d’une dette technique beaucoup plus petite .
Source : hongkiat