Catégorie : Programmation Web

programmation Web

  • Écrire des tests pour les autres

    Écrire des tests pour les autres

    Cela faisait longtemps que je n’avait pas écrit sur une des règles du livre 97 Things every programmer should know.
    Aujourd’hui, je vais parler de la partie de Gerard Meszaros, sur l’écriture des tests pour les autres personnes travaillant sur le projet.

    Voici ce que nous raconte Gerard Meszaros, en français :

    Vous écrivez des tests automatisés pour tout ou partie de votre code de production. Toutes mes félicitations!
    Vous écrivez vos tests avant d’écrire le code ? Encore mieux !!
    Cela fait de vous l’un des premiers utilisateurs à la pointe de la pratique du génie logiciel.

    Mais écrivez-vous de bons tests ? Comment pouvez-vous le juger ?
    Une solution consiste à demander : Pour qui est-ce que j’écris les tests ?

    Si la réponse est « Pour moi, m’épargner l’effort de corriger les bogues» ou « Pour le compilateur, afin qu’ils puissent être exécutés », alors il y a de fortes chances que vous n’écriviez pas les meilleurs tests possibles.

    Dans ce cas, pour qui devriez-vous écrire les tests ?

    Pour les personnes essayant de comprendre votre code. Les bons tests servent de documentation pour le code qu’ils testent. Ils décrivent le fonctionnement du code. Pour chaque scénario d’utilisation, les tests doivent :

    • Décrire le contexte, le point de départ ou les conditions préalables à satisfaire
    • Illustrer la manière dont le logiciel est appelé
    • Décrire les résultats attendus ou les post-conditions à vérifier

    Différents scénarios d’usages auront des versions légèrement différentes de chacun d’eux. La personne qui essaiera de comprendre votre code doit pouvoir examiner quelques tests et, en comparant ces trois parties, permettre de voir ce qui provoque un comportement différent du logiciel.
    Chaque test doit clairement illustrer la relation de cause à effet entre ces trois parties. Ce qui n’est pas visible dans le test est tout aussi important que ce qui est visible.

    Trop de code dans le test distrait le lecteur avec des anecdotes sans importance. Dans la mesure du possible, cachez ces anecdotes derrière des appels de méthode significatifs: le refactoring est votre meilleur ami.

    Et assurez-vous de donner à chaque test un nom explicite décrivant le scénario d’utilisation en question, afin que le lecteur n’ait pas à désosser chaque test pour comprendre quels sont les différents scénarios.
    Entre eux, les noms de la classe de test et de la méthode de classe doivent inclure au moins le point de départ et la manière dont le logiciel est appelé. Cela permet de vérifier la couverture du test via un balayage rapide des noms de méthodes. Il peut également être utile d’inclure les résultats attendus dans les noms des méthodes de test, à condition que leur nom ne soit pas trop long à afficher ou à lire.

    C’est également une bonne idée de tester vos tests.

    Vous pouvez vérifier qu’ils détectent les erreurs que vous pensez détecter en les insérant dans le code de production (votre propre copie privée que vous allez jeter, bien sûr).
    Assurez-vous qu’ils signalent les erreurs de manière utile et significative.
    Vous devez également vérifier que vos tests parlent clairement à une personne qui tente de comprendre votre code.
    La seule façon de le faire est d’avoir une personne qui ne connaît pas votre code qui lit vos tests et vous dit ce qu’elle a appris.
    Écoutez attentivement ce qu’elle dit. Si elle n’a pas compris quelque chose de clair, ce n’est probablement pas parce qu’elle n’est pas très brillante.
    Il est plus probable que vous n’ayez pas été très clair. (Allez-y et inversez les rôles en lisant ses tests!)

  • Les Modes SQL

    Les Modes SQL

    Aujourd’hui, je partage avec vous une découverte que j’ai fait dernièrement, qui porte sur les modes SQL.
    Je dis découverte pour le fait que je n’en avais jamais entendu parler jusqu’à il y a quelques jours.
    Voici une définition des modes SQL, issue du site mysql.com, et traduite de l’anglais.

    Le serveur MySQL peut fonctionner dans différents modes SQL et peut appliquer ces modes différemment pour différents clients, en fonction de la valeur de la variable système sql_mode.

    Les administrateurs de base de données peuvent définir le mode SQL global pour correspondre aux exigences opérationnelles du serveur de site. Chaque application peut également définir son mode de session SQL en fonction de ses propres exigences.

    Les modes affectent la syntaxe SQL prise en charge par MySQL et les contrôles de validation des données effectués.

    Cela facilite l’utilisation de MySQL dans différents environnements et l’utilisation de MySQL avec d’autres serveurs de base de données.

    https://dev.mysql.com/

    En clair, les différents mode SQL permettent d’ajouter des règles plus ou strict sur la base de données, et de faire attention aux données qui peuvent être ajouté ou updaté sur cette base.

    Je ne vous expliquerai pas les détails de ce mode SQL, mais il est possible de lire les pages de documentation traitant de ce sujet. Voici quelques liens :

  • Série de posts sur les codes d’état HTTP

    Série de posts sur les codes d’état HTTP

    Aujourd’hui, dernier article de l’année.
    J’aimerai partager avec vous une trouvaille que j’ai faites pendant mes veilles.

    C’est une série de posts qui traite des différents codes d’état HTTP.
    Ces codes sont des nombres à 3 chiffres, comme 100, 202, 304 (et 418), et permettent de déterminer le résultat d’une requête ou d’indiquer une erreur au client

    Ces chiffres doivent être obligatoirement connu par les développeurs, et sont intéressants à utiliser pour des fonctionnalités comme des API Web.

    Voici le lien vers cette de posts : Series of posts on HTTP status codes
    Profitez-en bien.

  • Découverte de l’HTML et du CSS

    Découverte de l’HTML et du CSS

    Le partage d’aujourd’hui traite de la base du développement Web, avec les langages HTML et CSS.

    Grafikart nous propose 2 playlist Youtube, une par langage.

    Personnellement, je n’ai pas forcément vu les vidéos, mais je trouvais cool de faire le partage !

    Profitez-en bien.

  • Conférences Paris Web 2018

    Conférences Paris Web 2018

    Il y a quelques jours se déroulait l’événement Paris Web 2018, entre le 4 et le 6 octobre.

    Pendant cette événement, les conférences étaient en direct sur Youtube.

    J’ai eu l’occasion de voir 2-3 de ces conférences, via Youtube, et je les ai trouvé très intéressantes.

    Les conférences pouvaient être en Français et en Anglais.
    Les thèmes étaient les suivants (parmi d’autres) : accessibilité API, design, IA, JavaScript, jeux vidéo, management, méthodologie métier, performance, retour d’expérience, RGPD, standardisation, SVG, sécurité, etc…

    J’ai mis dans une playlist Youtube, les vidéos des direct des 4 et 5 octobre (Il n’y avait pas de direct le 6 octobre).

    Profitez-en bien.