Quels sont les vrais problèmes avec les scripts en ligne?
Les scripts en ligne sont mauvais et doivent être évités car ils rendent le code plus difficile à lire.
Un code difficile à lire est difficile à maintenir. Si vous ne pouvez pas facilement le lire et comprendre ce qui se passe, vous ne pourrez pas facilement repérer les bogues. S'il est difficile à maintenir, il perdra plus de temps par la suite en cas de problèmes.
La difficulté provient généralement d'encodages imbriqués. Il y a un problème dans la ligne de code suivante, pouvez-vous le repérer?
<a onclick='alert("What\'s going wrong here?")'>Alert!</a>
Idéalement, le code est écrit de manière à ce qu'il soit facile de détecter les erreurs éventuelles. Joel Spolsky a écrit un excellent article qui souligne ce point en 2005 . Les exemples de code pourraient nécessiter une amélioration significative, car ils affichent un âge de 9 ans, mais le concept sous-jacent est toujours valable: écrire du code de manière à faciliter la détection des bogues.
Existe-t-il un problème de performances important ou s'agit-il principalement d'une question de style?
Le script en ligne conduit à la répétition. Au lieu de modifier une ligne de code pour affecter 100 pages, vous devrez probablement modifier 100 pages individuellement. Ceci, associé à une mauvaise lisibilité, affecte sérieusement les performances du mainteneur . Le temps de programmation a un coût réel qui affecte le résultat net d’une entreprise plus rapidement que les quelques millisecondes de la plupart des optimisations de code. Certes, l'optimisation des goulots d'étranglement est importante, mais la différence de performance du code est négligeable dans ce cas.
Puis-je justifier auprès de mes supérieurs des actions immédiates sur le front des scripts en ligne, alors qu'il y a d'autres choses à travailler qui pourraient avoir un impact plus évident sur le site?
Si c'est stupide et que ça marche, ce n'est pas stupide.
Le corollaire de la programmation est le suivant: si c'est du code stupide et que cela fonctionne, ce n'est pas du code stupide. Concentrez-vous sur les vrais problèmes avant d'essayer de réparer quelque chose qui n'est pas cassé. Lorsque le code en ligne nécessite éventuellement une mise à jour, que ce soit dans six heures, six mois ou six ans, corrigez le code de manière à faciliter la maintenance future.
Quels facteurs vous amèneraient à dire "hmm, travail professionnel ici" et qu'est-ce qui vous ferait reculer d'un travail manifestement amateur?
J'ai tendance à préférer définir le terme "professionnel" simplement comme quelqu'un qui est payé pour effectuer une tâche, plutôt que de supposer qu'il possède une capacité significative dans ce qu'il est rémunéré à faire. Beaucoup de professionnels sont certes capables de faire du bon travail, mais le plus souvent, je me retrouve horrifié par le travail épouvantable accompli par d’autres professionnels plutôt que par un amateur. À ce jour, une grande partie de mon travail a consisté à récupérer des projets d'accident de train qui ont été bâclés par les développeurs initiaux. Votre kilométrage peut donc varier.
Cela dit, il est généralement facile de choisir une programmation de qualité entreprise