L'Informaticien n 4. Améliorer vos scripts Ajax. Dans son ouvrage « Bien développer pour le Web 2. Plugin Information: Publication date: 2006/02/15, Modification date: 2013/01/04 Hosts 192.168.1.226 (tcp/80) 40352 (1) - phpMyAdmin Installation Not Password Protected.Unbiased reviews of SiteGround from 718 real users, including Hans Joergen Rasmussen of savingourplanet.net. What do SiteGround users *really* think? Get the dirt here. Web-sync; better for collaborative projects with shared calendars; can migrate projects from dotProject; screenshots and video tutorials. Switch your router off and on again – And, if the equipment is hot, let it cool down and look for somewhere better ventilated to keep it. Check your office network. Offizielle Website der BSF Consulting GmbH. Hier finden Sie eine kleine Auswahl der derzeit verfügbaren Mitarbeiter! Ajax », Christophe Porteneuve nous livre un condensé de dix ans d’expérience et de qualité sur le Web. Les trucs et plus de l’auteur dans ces bonnes feuilles de cet ouvrage. Astuces pour l’écriture du code. En Java. Script, comme dans beaucoup de langages, on a intérêt à prendre quelques petites habitudes dans la rédaction de notre code source afin d’en améliorer la lisibilité et d’éviter certains pièges classiques. Voici quelques bonnes habitudes que je vous conseille. Déjouer les pièges classiques. Connaissez- vous les termes lvalue et rvalue ? Ils désignent les deux opérandes d’une affectation : celui de gauche, qui constitue donc généralement une variable à laquelle on peut affecter une valeur, par exemple index ou items[3]. Value ; et celui de droite, qui constitue la valeur. Ce dernier est le plus souvent une expression ne constituant pas une variable, par exemple 4. Un piège fréquent dans de nombreux langages, dont Java. Script, consiste à faire une faute de frappe lors d’une comparaison de type ==. On oublie un signe égal, et on obtient =, l’affectation. Au lieu de ceci : If (x = = 4. Un tel code, qui est très suspect, ne déclenche qu’un avertissement en Java. Script. De tels avertissements ne sont pas immédiatement visibles sur la plupart des navigateurs. Même pour un développeur web équipé d’extensions dédiées, comme la Web Developer Toolbar de Chris Pederick, ou Firebug de Joe Hewitt, un avertissement cause seulement l’apparition d’une petite icône de panneau triangulaire jaune dans un recoin de l’interface : on ne s’en rend pas forcément compte. Ce code affecte 4. Avec une valeur fixe comme ceci, il est clair que c’est une erreur : si on sait qu’on y met 4. Pour éviter ce genre de problèmes, je vous recommande de toujours placer les rvalues à gauche dans une comparaison ==. Prenons le code valide suivant : if (4. Si vous oubliez par mégarde un signe égal, le code obtenu est le suivant : if (4. Il ne fonctionne pas, tout simplement. Il génère une erreur, qui est souvent plus visible qu’un avertissement, et possède en outre l’immense avantage de stopper l’exécution du script, l’empêchant ainsi de continuer sur la base d’informations fausses, ce qui pourrait poser des problèmes. Imaginez qu’un tel code contrôle l’envoi d’un formulaire de suppression d’utilisateurs, et que le test vérifie qu’une case de confirmation est cochée.. On causera certainement des dégâts si on opère sans de telles précautions. Deuxième conseil : vous aurez peut- être remarqué que Java. Script n’exige pas toujours de terminer vos instructions par un point- virgule (; ). Il s’agit en effet d’un séparateur d’instructions, et non d’un terminateur ; il est par ailleurs optionnel après les accolades fermantes. Hormis ce dernier cas, je vous conseille néanmoins de toujours utiliser le point- virgule à la fin d’une ligne de code : vous n’aurez pas à vous rappeler de le remettre le jour où vous rajouterez du code à la suite. Dernier conseil, particulièrement destiné aux débutants : méfiez- vous d’un pointvirgule tapé trop hâtivement derrière la parenthèse fermante d’un if, for ou while ! Par exemple, le code suivant : Listing 2- 2. Un script avec de gros problèmes.. Quitter ?’))break; Ce code affiche « youpi ! Pourquoi ? Parce que le if, le for et le while ont un point- virgule en trop, discret, en fin de ligne, qui constitue une instruction vide. Comme, syntaxiquement, ces trois structures de contrôle ne gèrent qu’une instruction, c’est cette dernière vide qui est utilisée. En somme, le code précédent est équivalent au code suivant, où on repère bien mieux le problème : Listing 2- 2. Le même, reformatéif (4. Quitter ?’))break ; Attention donc à ne pas être trop zélé avec les points- virgules.. Ces conseils valent pour tous les langages dont la syntaxe est proche, voire identique, sur ces points : C, C++, Java, C#.. Améliorer la lisibilitéJe recommande de toujours commenter la fin d’une fonction, au moins lorsque celle- ci dépasse les 1. On se retrouve très vite avec juste la fin d’une fonction visible, que ce soit parce qu’elle est très longue (ce qui indique un problème de modularité du code, soit dit en passant), ou parce qu’on a fait défiler le code source et que seule la fin subsiste. Dans les exemples de ce livre, la plupart des fonctions non triviales ont ainsi un commentaire de fin : function compute(factor) {..} // compute. Après une condition ou une définition de boucle, allez systématiquement à la ligne et indentez, c’est tellement plus facile alors de voir quel code dépend de votre structure de contrôle. Listing 2- 2. 5 Une indentation très discutablefunction bad. Code() {if (arguments. Error(’Ooops’); console. Child. Nodes()) clear. First. Node(); console. Préférez une indentation correcte : function better. Code() {if (0 == arguments. Error(’Missing arguments! Expected name.’); console. Child. Nodes())clear. First. Node(); console. Code. Enfin, je ne saurai trop vous encourager à toujours adopter des conventions de nommage dans vos codes source, de préférence alignées sur les standards de l’industrie, ou en tout cas du langage employé. Voici quelques lignes de conduite simples, souvent adoptées dans d’autres langages répandus : • Les types et espaces de noms utilisent une casse dite Camel. Case majuscule, par exemple Ajax, Uploader ou Periodical. Updater.• Les constantes utilisent une casse majuscule où les composants sont séparés par des soulignés (_) : MAX, REGEX_SCRIPTS.• Les variables, arguments et propriétés utilisent une casse dite Camel. Case minuscule, c’est- à- dire que la première initiale est minuscule. Quelques exemples d’expressions tout à fait réelles : document. Element. first. Child. Value, document. create. Element.• Lorsqu’on crée des objets, je recommande chaudement d’utiliser une convention pour nommer les propriétés censées être privées (non accessibles depuis l’extérieur de l’objet) : préfixez- les par un tiret bas, par exemple : _id, _each, _observe. And. Cache().• Les noms de méthodes devraient toujours commencer par un verbe à l’infinitif, par exemple create. Element, remove. Child ou adopt. Node. Les méthodes renvoyant un booléen devraient utiliser un verbe à la troisième personne du singulier, généralement au présent de l’indicatif, adapté à la sémantique de la méthode. Exemples : has. Child. Nodes(), is. Blank(), can. Close(). Rien qu’en observant ces quelques règles simples, on améliorera sensiblement le code. Mieux déboguer du Java. Script. Java. Script, c’est comme tout : plus nos outils sont bons, et plus on développe vite. Croyez- le ou non, encore aujourd’hui, la majorité des développeurs web n’utilisent pas d’outils évolués dans leur navigateur pour mettre au point leur Java. Script. Ces mêmes développeurs, qui frémissent d’horreur à l’idée de devoir développer en Java, C++ ou C# sans un EDI haut de gamme (et ne parlons même pas de Visual Basic), persistent à n’utiliser, pour travailler avec Java. Script, que l’équivalent d’un silex et d’un bout de bois. L’annexe D et cette section visent à vous élever au- dessus de cet état préhistorique. Et pourtant, l’univers Java. Script propose les mêmes richesses que ceux des autres langages : éditeurs, complétion automatique, véritables EDI même, frameworks de tests unitaires et fonctionnels, extraction automatique de documentation, et j’en passe. Il ne s’agit pas ici de passer tout cela en revue, mais de nous pencher plus particulièrement sur la question du débogage. Pour citer un membre du projet Mozilla, « déboguer du Java. Script, c’est un peu faire la chasse aux fantômes ». Mais il ne s’agit pas là d’une fatalité. Des outils peuvent vous aider considérablement, et nous allons en voir quelques- uns ici. Avant de commencer, j’affirme haut et fort que pour déboguer du Java. Script, rien ne vaut Mozilla Firefox. Ce navigateur figure déjà sur tous les postes de développeurs web un tant soit peu consciencieux, dans la mesure où, d’une part, il respecte infiniment mieux les standards que MSIE et, d’autre part, il est bien plus agréable à utiliser. Par ailleurs, il est disponible sur toutes les plates- formes, et représente plus de 2. Mais ce qui rend Firefox si utile pour les développeurs web, c’est son mécanisme d’extensions. Tout un chacun peut fournir des fonctionnalités supplémentaires, et cela autrement plus facilement qu’avec le mécanisme BHO (Browser Helper Object) disponible dans MSIE, qui est par ailleurs l’une des principales sources de problèmes de sécurité sous Windows. Lorsqu’on développe une page web, la meilleure méthode aujourd’hui consiste certainement à travailler d’abord sous Firefox pour mettre au point le HTML, les CSS et les scripts, puis à tester exhaustivement sur les principaux autres navigateurs, dont bien sûr MSIE, Safari et Opera. On sait en effet combien MSIE diffère des standards en termes de CSS et aussi (quoique dans une bien moindre mesure) de Java. Script. La console Java. Script. Plusieurs navigateurs proposent une console Java. Script. Il s’agit d’une fenêtre qui recense les notifications de l’interpréteur Java. Script : erreurs, avertissements et messages d’information éventuels. Certains navigateurs fournissent d’ailleurs un accès Java. Script à cette console, au travers d’un objet global dédié, ce qui permet à vos scripts d’y placer un message plutôt que de recourir au traditionnel mais pénible appel à alert (lequel vous propulse vite dans un tourbillon de clics). Dans Mozilla Firefox. Dans Mozilla Firefox, la console est accessible via le menu Outils> Console Java. Script. La console ressemble à ceci : Fig. La console Java. Script de Mozilla Firefox. Notez qu’elle reçoit aussi des notifications de l’analyseur CSS (la plupart des messages d’erreur qu’on y rencontre sont souvent dus à des hacks CSS) et qu’elle conserve les notifications reçues par le passé : elle ne s’efface que manuellement, en cliquant sur le bouton Effacer de sa barre d’outils.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
September 2016
Categories |