IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débats sur le développement - Le Best Of Discussion :

En programmation, des variables bien nommées valent mieux qu’un bon commentaire


Sujet :

Débats sur le développement - Le Best Of

  1. #61
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 264
    Points : 7 760
    Points
    7 760
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par autran Voir le message
    Oui je suis en accord avec cette affirmation, et je vais même plus loin....
    Je pense que le test unitaire est inutile. En effet le développeur doit savoir ce qu'il a écrit et pouvoir le débuguer facilement.
    En outre les tests de recettes sont indispensables mais rarement mis en place par le client pourtant ce sont biens ces tests qui permettrait au développeur de faire du TDD.
    Personnellement, si je comprends l'assertion "le développeur doit savoir ce qu'il a écrit", en pratique il est facile de voir que ce n'est pas toujours le cas : chacun évolue, et relire un code après plusieurs années peut amener à ne plus se comprendre. Et même sans aller aussi loin, un programme fait à la va vite pour répondre à une urgence, une fois qu'on s'y penche quelques jours après pour mieux concevoir la chose, peut être plus difficile à revoir que de refaire un code depuis zéro. On peut discuter le fait que l'Homme soit une machine ou non, mais je pense qu'on peut s'entendre sur le fait qu'il n'est pas une machine à programmer. Et pour palier à ses oublis et autre "défauts" (qui pris sous une autre perspective en font des qualités), les tests unitaires sont un outil utile. D'autant plus quand on généralise à une équipe, de surcroit qui évolue aussi avec des membres qui s'en vont et d'autres qui y entrent : on ne peut tout simplement pas partir du principe que la personne sait ce qui est codé. En revanche, on peut organiser le code pour que celui-ci soit facile à lire et à conceptualiser :
    - utiliser des classes qui trouvent leurs analogies dans la pratique de tous les jours (et en donner des exemples dans la documentation),
    - minimiser les dépendances avec d'autres classes pour ne pas avoir besoin de comprendre beaucoup de choses avant de comprendre celle qui nous intéresse,
    - etc.

    On peut naturellement s'inspirer de bonnes pratiques en rédaction :
    - faire des phrases courtes = écrire des instructions courtes
    - utiliser un vocabulaire adapté au contexte = utiliser un nommage adapté au contexte
    - structurer le document en titre, sections, sous-sections, etc. avec des noms explicites = structurer le code en classe, fonctions, appelant d'autres fonctions, etc. avec des noms explicites
    - mettre des illustrations = faire des analogies dans la documentation

    Et je pense personellement que bien écrire un code est de la même essence que bien écrire un rapport de stage, un rapport technique, un roman, etc. Il faut que le code soit organisé pour qu'un nouveau lecteur puisse :
    - démarrer à un point de départ connu (e.g. fonction main()),
    - facilement voyager dans le code (i.e. fonctions courtes dans lesquelles chaque ligne est explicite, pas seulement le nom de la fonction et des variables mais aussi l'organisation des arguments de fonctions -de façon à lire l'appel comme une phrase naturelle- et la suite d'instructions),
    - lire les détails une fois qu'on a trouvé ce qui nous intéresse (i.e. code pour comprendre le comment, documentation pour comprendre le reste : quoi, pourquoi, etc.)
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  2. #62
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 639
    Points : 2 347
    Points
    2 347
    Par défaut
    Chercher à ce que le code ressemble le plus possible à une phrase écrite en langage naturel conduit souvent, en pratique, à des aberrations : on saisit plus facilement les grandes lignes, mais dès qu'il faut comprendre plus profondément (parce qu'on a besoin de modifier par exemple), on perd énormément de temps.

    Il faut se faire à l'idée que lire du code est, quels que soient les efforts faits par ses auteurs antérieurs pour le rendre clair, une tâche difficile.

    Je vote plutôt pour une amélioration incrémentale de la qualité du code (et des commentaires, et de la doc) à partir d'une version de base qui a été pensée pour être à peu près lisible, mais pas trop... quand on en fait trop, on obtient le contraire de l'objectif visé au départ.

  3. #63
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 264
    Points : 7 760
    Points
    7 760
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par CodeurPlusPlus Voir le message
    Chercher à ce que le code ressemble le plus possible à une phrase écrite en langage naturel conduit souvent, en pratique, à des aberrations
    Note que je n'ai jamais dit que le code devait ressembler à du langage naturel : il ne faut pas confondre analogie avec copie.

    Il y a des principes (e.g. séparer les idées) qui sont réalisés de telle ou telle manière en rédaction (e.g. une seule idée par phrase) et qui peuvent se réaliser d'une manière ou d'une autre en code (e.g. séparer génération et exploitation des données). De la même manière qu'un poème écrit comme un rapport technique n'a rien d'un bon poème, un code écrit comme un rapport technique n'a rien d'un bon code, mais il n'en reste pas moins que quand on parle de compréhension à la lecture les principes généraux restent les même, parce qu'au final c'est toujours un humain qui relit derrière.

    Ne me faites pas dire ce que je n'ai pas dit.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  4. #64
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Bonjour Matthieu,

    Je n'avais pas vu que tu étais un expert de l'ingénierie des exigences .

    Du coup je comprends un peu mieux ton propos vu à travers ce prisme : celui des spécifications qui vivent durant toutes les phases du projet. Et j'en profite pour enlever le -1 que je t'ai collé .

    Je suis d'accord pour dire que si on fait quasiment une génération auto du code depuis des outils comme OBEO (cinematic graal ...) Alors la doc en langage naturel est extrêmement importante. D'autant plus que dans ce cas les variables ont parfois des noms qui ne nous éclairent pas des masses.

    Mais je pense que de nombreux intervenants sur ce fil cherchent avant tout à augmenter leur productivité sur des développement courts et relativement jetable, si bien que ni les exigences de maintenance ni le temps de développement (moins d'une semaine) ne donnent envie de documenter le code source.

    Marc,
    Développeur Java
    Site Web

  5. #65
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 264
    Points : 7 760
    Points
    7 760
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par autran Voir le message
    Je n'avais pas vu que tu étais un expert de l'ingénierie des exigences .
    Hum... ma thèse se centrant plus sur l'évaluation d'expertise (l'ingénierie des exigences étant mon cas d'application par défaut, du fait du labo où je suis), ta phrase me laisse perplexe. D'un point de vue absolu, je ne pense pas que l'on puisse me qualifier d'expert, mais d'un point de vue relatif, tu peux toujours justifier ce genre de qualification. Voir chapitre 2 du Cambridge Handbook of Expertise and Expert Performance. Donc je te laisse voir ce que tu veux dire par là {'^_^}. On sera d'accord de dire que je ne suis pas un inculte dans ce domaine.

    Citation Envoyé par autran Voir le message
    Mais je pense que de nombreux intervenants sur ce fil cherchent avant tout à augmenter leur productivité sur des développement courts et relativement jetable, si bien que ni les exigences de maintenance ni le temps de développement (moins d'une semaine) ne donnent envie de documenter le code source.
    Peut-être. Ce n'est en tout cas pas mon cas, et si je me fie au processus créatif de Wallas (préparation, incubation, illumination), je suis un grand fan d'incubation, aussi appelé procrastination (par ceux qui oublient que le cerveau tourne tout le temps, qu'on le veuille ou non). Du coup, je peux avoir des pauses de plusieurs mois sur mes codes persos avant d'y revenir. Donc oui je suis plutôt sur une vision moyen-long terme, et non court terme, qui pour moi n'a pas d'autre intérêt que de "pisser du code", ou dit de manière plus neutre : on est là pour appliquer, pas pour réfléchir. C'est certes très "blanc ou noir", mais c'est pour éviter d'écrire un pavé.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  6. #66
    Membre émérite
    Homme Profil pro
    Dev senior .Net, (ex-immigré français au Québec)
    Inscrit en
    Janvier 2006
    Messages
    727
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Dev senior .Net, (ex-immigré français au Québec)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 727
    Points : 2 383
    Points
    2 383
    Par défaut
    Citation Envoyé par Matthieu Vergne Voir le message
    Peut-être. Ce n'est en tout cas pas mon cas, et si je me fie au processus créatif de Wallas (préparation, incubation, illumination), je suis un grand fan d'incubation, aussi appelé procrastination (par ceux qui oublient que le cerveau tourne tout le temps, qu'on le veuille ou non). Du coup, je peux avoir des pauses de plusieurs mois sur mes codes persos avant d'y revenir. Donc oui je suis plutôt sur une vision moyen-long terme, et non court terme, qui pour moi n'a pas d'autre intérêt que de "pisser du code", ou dit de manière plus neutre : on est là pour appliquer, pas pour réfléchir. C'est certes très "blanc ou noir", mais c'est pour éviter d'écrire un pavé.
    (Je ne connaissais pas Wallas et sa théorie de l'incubation, mais ca me parle -beaucoup-)

    Cependant.. sur la vision a court terme, ou pour être moins terne "je pisse du code qui ne durera que le temps d'être absorbé par le sol", d'expérience, et en entreprise notamment, il est très rare d'écrire du code - conséquent - avec une courte durée de vie (simple question de retour sur investissement...) . En dehors des annulations de projets juste avant la livraison en production ( ce qui arrive certes souvent), et autres gâchis similaires, la durée de vie d'un code est a mon avis rarement courte. Bref, pour en revenir au sujet, c'est a ce titre la que bien écrire ses commentaires et faire des tests unitaires a un sens : le code va vivre longtemps, suffisamment pour que le développeur ait perdu sa mémoire complète de son écriture, ou qu'il été remplacé par un autre.

  7. #67
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Citation Envoyé par Matthieu Vergne Voir le message
    Donc oui je suis plutôt sur une vision moyen-long terme, et non court terme, qui pour moi n'a pas d'autre intérêt que de "pisser du code", ou dit de manière plus neutre : on est là pour appliquer, pas pour réfléchir.
    OK, pragmatiquement 2 choses :
    • certains pissent du code pour gagner leur vie et doivent le faire vite pour garder leur boulot;
    • il est vrai que documenter fait perdre du temps mais il faut pouvoir relire et maintenir son code.


    Alors soyons consensuels!
    J'ai peut être une idée pour relancer la discussion en synergisant ceux qui veulent coder vite et bien et ceux qui veulent que les développements soient compréhensibles et maintenables : UML avant de coder et les noms des propriétés et des méthodes sont les mêmes dans le code que dans le diagramme de classes
    Développeur Java
    Site Web

  8. #68
    Membre émérite
    Homme Profil pro
    Dev senior .Net, (ex-immigré français au Québec)
    Inscrit en
    Janvier 2006
    Messages
    727
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Dev senior .Net, (ex-immigré français au Québec)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 727
    Points : 2 383
    Points
    2 383
    Par défaut
    Citation Envoyé par autran Voir le message
    J'ai peut être une idée pour relancer la discussion en synergisant ceux qui veulent coder vite et bien et ceux qui veulent que les développements soient compréhensibles et maintenables : UML avant de coder et les noms des propriétés et des méthodes sont les mêmes dans le code que dans le diagramme de classes
    C'est valable tant que tu arrives a maintenir la synchronicité entre la spécification UML et le code écrit. D'expérience, il est rare que la documentation suive les évolutions du code. (et puis bon, la lisibilité du code ce n'est pas que la nomenclature).

    Après, je me demande si du javascript est facilement modélisable en UML, plus exactement, si la concordance entre les deux est aussi "immédiate" que pour des langages (et des contextes) plus classique (par exemple du java en client lourd) - je sais pas, je suis pas vraiment un spécialsite en UMl, ou en node.Js

  9. #69
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Tout comme c'est une erreur de croire qu'on doit tout coder avec le paradigme POO (Java par exemple...), c'est aussi une erreur de croire qu'on peut tout modéliser avec UML. C'est d'ailleurs son pendant...

    De plus, si on est d'accord pour dire qu'un écueil des commentaires est qu'ils sont susceptibles de ne pas être à jour, que dire d'une documentation UML, qui à mesure qu'elle grossit fait plus figure de gros Mamouth poilu qu'autre chose.

    UML, à utiliser avec parcimonie...
    Tutoriels et FAQ TypeScript

  10. #70
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    UML sert pour ma part à spécifier le besoin du client.
    Il est donc utilisé dans un cadre contractuel.
    On ne peut donc pas changer le code sans changer les specs UML. On ne va en effet pas redévelopper une application sans une demande du client et surtout un engagement à payer le travail du développeur.

    Cependant tu as raison guillaumeJ, je pense que ca ne doit pas être facile de modéliser du JavaScript. Donc si ton code JavaScript a besoin d'être relu maintenu ou changé alors tu rentre dans la catégorie de ceux qui doivent documenter le code.

    Et pour ma culture perso, peux tu me dire les outils que tu utilise en JavaScript pour faire des tests unitaires ?
    Développeur Java
    Site Web

  11. #71
    Membre émérite
    Homme Profil pro
    Dev senior .Net, (ex-immigré français au Québec)
    Inscrit en
    Janvier 2006
    Messages
    727
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Dev senior .Net, (ex-immigré français au Québec)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 727
    Points : 2 383
    Points
    2 383
    Par défaut
    Citation Envoyé par autran Voir le message
    UML sert pour ma part à spécifier le besoin du client.
    Il est donc utilisé dans un cadre contractuel.
    On ne peut donc pas changer le code sans changer les specs UML. On ne va en effet pas redévelopper une application sans une demande du client et surtout un engagement à payer le travail du développeur.
    Encore faut il que
    - le client est capable de lire de l'UML pour voir si son besoin est bien spécifié (parce que sinon le cadre contractuel ou un des gars peut pas lire le contrat...)
    - tous les devs qui passeront sur le code sachent lire l'UML (pas gagné non plus)
    - qu'on soit dans un cadre contractuel : quid des devs internes a une entreprise par exemple ? Ou s'il y a parfois des notions de facturations, y a pas vraiment de contrats en tout cas.

    Et pour ma culture perso, peux tu me dire les outils que tu utilise en JavaScript pour faire des tests unitaires ?
    je suis pas un spécialiste, comme déjà dit, mais il y a au moins JsUnit et QUnit ( si on écarte les seleniums etc. comme étant plus des test(eur)s d'intégrations)

  12. #72
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Citation Envoyé par GuillaumeJ Voir le message
    Encore faut il que
    - le client est capable de lire de l'UML pour voir si son besoin est bien spécifié (parce que sinon le cadre contractuel ou un des gars peut pas lire le contrat...)
    - tous les devs qui passeront sur le code sachent lire l'UML (pas gagné non plus)
    - qu'on soit dans un cadre contractuel : quid des devs internes a une entreprise par exemple ? Ou s'il y a parfois des notions de facturations, y a pas vraiment de contrats en tout cas.
    Si le client ne sait pas lire de l'UML : le chef de projet MOE ou la boite d'AMOA écrit l'UML et l'explique au client qui le signe. Il existe des outils qui transforment l'UML en quelque chose de plus naturel.
    Un développeur java qui ne connait pas UML ca doit être rare.
    Quant au développements internes, on peut contractualiser aussi en interne et comptabiliser le cout d'un projet en homme*jour.

    Et merci pour JsUnit, tu es le premier dev JavaScript que je croise qui pratique les tests unitaires. Félicitations !!!
    Développeur Java
    Site Web

  13. #73
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 264
    Points : 7 760
    Points
    7 760
    Billets dans le blog
    3
    Par défaut
    Sauf que tu joues (intentionnellement ou non ça je sais pas) sur une subtilité de taille :
    Citation Envoyé par autran Voir le message
    Un développeur java qui ne connait pas UML ca doit être rare.
    UML, ça se limite pas à des diagrammes de classes ou des cas d'utilisations. C'est un package de modèles, et chacun est relatif à une perspective spécifique. Autrement dit, certains seront plus parlant pour un dév, d'autres pour un gestionnaire de BDD, d'autres, pour un client qui n'a jamais codé une ligne, etc. Connaître UML ne veut rien dire en soit : ça va de simplement en avoir entendu parler à connaître l'ensemble des types de modèles et leurs subtilités. Or, si je n'ai aucun doute que les dévs Java n'ayant jamais entendu parler de UML sont rare, je pense que ceux qui maîtrisent l'ensemble des modèles UML sont encore plus rares.

    En plus de ça, ces modèles ont leurs faiblesses sémantiques, comme les associations/aggrégations/compositions des diagrammes de classes, qui ont tendance à avoir des interprétations différentes selon les développeurs. S'il y en a qui ont une idée claire de ce que ça veut dire pour eux, d'autres sont tout autant convaincus qu'ils sont à côtés de la plaque.

    L'avantage du code, c'est que c'est de l'opérationnel pur et dure. UML en revanche, c'est comme un langage naturel qui ressemble à du code : ça peut être ambiguë tout en étant super technique.

    Je ne doute pas que dans une équipe où chacun s'entend sur des pratiques UML on arrive à l'utiliser comme moyen de communication central, mais je doute que ce soit généralisable.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  14. #74
    Membre émérite
    Homme Profil pro
    Dev senior .Net, (ex-immigré français au Québec)
    Inscrit en
    Janvier 2006
    Messages
    727
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Dev senior .Net, (ex-immigré français au Québec)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 727
    Points : 2 383
    Points
    2 383
    Par défaut
    J'ai des doutes sur la maitrise de l'UML par un dev lamba, pour ma part. Enfin, pour des diagrammes de classes, peut-être. Quand on arrive aux processus par contre...

    Enfin, c'est juste une impression, j'ai pas de preuves
    Citation Envoyé par autran Voir le message
    Et merci pour JsUnit, tu es le premier dev JavaScript que je croise qui pratique les tests unitaires. Félicitations !!!
    Oh, je les pratique pas (moi je serai plus a aller directement vers Selenium - mais bon, je fais pas de grosses choses en js). Mais par exemple, ca fait partie du programme des certifications Web de Microsoft...

  15. #75
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Citation Envoyé par Matthieu Vergne Voir le message
    Sauf que tu joues (intentionnellement ou non ça je sais pas) sur une subtilité de taille :
    UML, ça se limite pas à des diagrammes de classes ou des cas d'utilisations. C'est un package de modèles, et chacun est relatif à une perspective spécifique. Autrement dit, certains seront plus parlant pour un dév, d'autres pour un gestionnaire de BDD, d'autres, pour un client qui n'a jamais codé une ligne, etc. Connaître UML ne veut rien dire en soit : ça va de simplement en avoir entendu parler à connaître l'ensemble des types de modèles et leurs subtilités. Or, si je n'ai aucun doute que les dévs Java n'ayant jamais entendu parler de UML sont rare, je pense que ceux qui maîtrisent l'ensemble des modèles UML sont encore plus rares.
    En général on donnera au développeur un diagramme de classes voire des diagrammes de séquences. Plus rarement un diagramme d'activité. le but étant de garder une bijection entre les classes métier du code et le diagramme des classes.

    Quand au use case, il me semble plus facile lorsque je défini les grandes macro-fonctionnalités du SI avec le client de faire un use case par module. d'ailleurs en général, le client comprend fort bien cette notation que je qualifierai de presque naturelle.

    GuillaumeJ, je te rejoins pour les tests d'intégration (sélénium ou autre) qui à mon avis sont plus intéressants que les tests unitaires. Je confirme n'avoir jamais vu de codeur pratiquer le test unitaire (hors Framework - AngularJS - Node.js ...). En revanche je confirme la pertinence d'une pré-recette via un outil tel que sélénium.
    Développeur Java
    Site Web

  16. #76
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    « En programmation, des variables bien nommées valent mieux qu’un bon commentaire »

    La question est une affirmation en soi !
    C'est à la fois ma conviction et ma façon de procéder.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  17. #77
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 264
    Points : 7 760
    Points
    7 760
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par argyronet Voir le message
    Bonjour,

    « En programmation, des variables bien nommées valent mieux qu’un bon commentaire »

    La question est une affirmation en soi !
    C'est à la fois ma conviction et ma façon de procéder.

    Argy
    Si j'ai bien compris, tu es convaincu que ce n'est pas une question mais une affirmation, et c'est ta manière de procéder que d'affirmer les choses quand tu souhaites poser une question. C'est ça ?

    Ben je ne suis pas d'accord. Le titre est une affirmation, pas une question. La question est dans le sous-titre :
    Citation Envoyé par Michael Guilloux Voir le message
    En programmation, des variables bien nommées valent mieux qu’un bon commentaire
    Qu’en pensez-vous ?
    Et poser des questions en posant des affirmations ne me semble pas des plus recommandables.

    Je trolle un peu : je me doute que tu parlais de bien nommer les variables plutôt que commenter. Mais il me semblait important de souligner ce point aussi. {^_^}
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  18. #78
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Matthieu Vergne
    Je trolle un peu : je me doute que tu parlais de bien nommer les variables plutôt que commenter. Mais il me semblait important de souligner ce point aussi.
    Oui, c'est vrai, vu comme cela, je suis d'accord ; mais tu m'as compris, c'est l'essentiel.

    Disons que j'ai lu dans le titre du débat quelque chose qui s'approchait de :
    "En programmation, pensez-vous que des variables bien nommées valent mieux qu’un bon commentaire ?"

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  19. #79
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Pas mal comme réflexion, mais tout le monde devrait se mettre à un langage commun : Japonais, un Hongrois etc...

    Un variable qui s' appellerait Pzchzkinowch quel bonheur.

    A chacun ses noms de variables, de commentaires!

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/05/2008, 18h40
  2. Affichage des variables d'un programme asm
    Par fgh39 dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 13/05/2008, 06h16
  3. Réponses: 3
    Dernier message: 23/07/2007, 18h01
  4. Comment créer des variables nommées A1, A2, A3... An
    Par BLACKDOM dans le forum MATLAB
    Réponses: 6
    Dernier message: 16/04/2007, 17h19
  5. Réponses: 23
    Dernier message: 22/05/2006, 19h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo