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 :

Quelles pratiques les développeurs devraient-ils éviter ?


Sujet :

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

  1. #21
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    J'aime bien le passage sur "Les erreurs d’orthographe dans vos codes" avec la citation "De plus elles (erreurs) peuvent être difficile à repérer"... Il ne manquerait pas un "s" à "difficile" ?
    Sinon, je suis assez d'accord avec ce point... Quand on lit des "BuisnessException" ça fait marrer... Ou alors des fautes de frappe dans les noms de fonction, genre "udpate"...
    Alors oui, certains diront que ça n'a pas d'impact sur le code... sauf si on fait des appels dynamiques (DLL, Java, ...)

  2. #22
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 420
    Points : 1 471
    Points
    1 471
    Par défaut
    Citation Envoyé par PouetX3 Voir le message
    Ou alors des fautes de frappe dans les noms de fonction, genre "udpate"...
    C'est ce que j'appelle la "dyslexie claviaire". Mon pire ennemi des jours de fatigue !

  3. #23
    Expert éminent
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    2 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 2 161
    Points : 7 952
    Points
    7 952
    Par défaut
    Citation Envoyé par mypad Voir le message
    Je suis partiellement d'accord avec toi. Oui l'optimisation est importante (je dirais plutôt que ce qui est surtout important c'est de ne pas faire du code hyper gourmand déjà à la base avant de penser à optimiser). Mais en l'occurrence là c'est le contexte qui veut ça, l'optimisation n'est pas un + dans les jeux vidéos, c'est une propriété importante, voire essentielle.
    Tandis que sur un intranet, un back-office ou je ne sais quelle application web non sensible, l'optimisation n'est pas primordiale, l'important c'est que l'application soit fonctionnelle, maintenable et évolutive. L'optimisation trop tôt dans ce genre de contexte, peut être en effet un ennemi et une perte de temps injustifiée.
    Je suis partiellement d'accord.
    Les temps de réponse d'un application font parti de son ergonomie
    Un back office optimisé permet de faire gagner beaucoup de temps.
    Par exemple, je travaille dans le eCommerce et le service client utilise beaucoup le back office de la plateforme et il n'est pas envisageable que l'opérateur attende 2min avec le client au téléphone pour que son écran s'affiche

    Je pense qu'il ne faut pas revenir inutilement sur son code pour l'optimiser.
    Mais au contraire bien penser sa conception et son code pour qu'il soit optimisé dès son écriture primaire.
    Cela implique de bien connaître son langage dans la gestion de sa mémoire (par exemple, en java, utiliser des "small" plutôt que des "int" quand cela est nécessaire, des StringBuffer plutôt que des String, etc.)
    De même, bien écrire dès le départ ses requêtes SQL : étudier si un index est nécessaire, utiliser l'analyseur de requêtes, etc.
    Bref, se poser avant d'écrire le code.

    Quels sont les mauvaises habitudes que vous pouvez rajouter à cette liste ?
    Ecrire son code d'un jet sans faire de conception

    Un développeur peut se passer d'une souris (et tout faire au clavier) mais une feuille et un stylo restent indispensables

  4. #24
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 87
    Points : 90
    Points
    90
    Par défaut
    Pour l'indentation, il y a Python.

    N°0: ne pas écrire de tests.
    N°1: écrire les tests après.

    puis le reste.

  5. #25
    Inactif  

    Homme Profil pro
    Freelance EURL / Business Intelligence ETL
    Inscrit en
    Avril 2005
    Messages
    5 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance EURL / Business Intelligence ETL
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2005
    Messages : 5 879
    Points : 26 147
    Points
    26 147
    Billets dans le blog
    3
    Par défaut
    Quelques remarques :

    6.
    De mon expérience de développeur Business Intelligence et en particulier ETL, j'ai travaillé sur des développements dont les chaînes traitent des millions de lignes base de données et qui doivent passer en quelques heures durant la nuit.
    Réfléchir à l'avance sur l'optimisation du temps, c'est indirectement réfléchir sur la manière dont les données sont traitées et toute la logique qui va en amont. En clair si tu sais que ce traitement est risqué, tu réfléchis en réalité sur plusieurs aspects de projet et on met le doigt sur pas mal de problématiques dans les règles de calcul, les processus et ainsi de suite.
    Mais après c'est peut-être assez spécifique, je ne le connais pas dans "le vrai code".

    Inversement du code - SQL en l'occurrence - qui a généré des gros problèmes de performance est en fait un code qui n'est pas bon
    1. n'est pas bon d'un point de vue métier (données incohérentes)
    2. n'est pas bon d'un point de vue fonctionnel (données erronées, je fais une différence sur ces deux points)
    3. n'est pas bon d'un point de vue architecture (espace et "logistique" mémoire mal géré)
    4. n'est pas bon d'un point de vue processus (pas mal de redondance et des difficultés pour a/ relire et débugger b/ réexécuter pour rattraper)

    C'était un code qui était particulièrement mauvais mais qui a été fait en deux temps trois mouvements et mis en prod dans la foulée.

    Je pense qu'il faut quand même faire la part des choses, certes on ne peut pas tout optimiser au début mais ce n'est pas l'occasion pour livrer un brouillon qui "juste compile" et qui profite d'une équipe homologation débordée pour passer au travers des tests.

    8.

    Je serai bien content de voir un exemple... car je vois aussi plutôt des contre-exemples !
    Parce que c'est sûr que par exemple si sur les cinq développeurs y en a trois qui sont préavis, il vaut mieux ne rien toucher et laisser la magie faire dans trois mois

    9.

    Mwahaha... comment dire ? Dans un monde idéal y a 99% des gens d'un projet qui serait d'accord.
    Y a malheureusement un pourcent qui tient un porte-feuille et qui dit quelque chose comme "Niet!"
    - So.... what exactly is preventing us from doing this?
    - Geometry.
    - Just ignore it !!
    ****
    "The longer he lived, the more he realized that nothing was simple and little was true" A clash of Kings, George R. R. Martin.
    ***
    Quand arrivera l'apocalypse, il restera deux types d'entreprise : les pompes funèbres et les cabinets d'audit. - zecreator, 21/05/2019

  6. #26
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 50
    Points : 194
    Points
    194
    Par défaut
    peut-être une mauvaise pratique à ajouter, mais c'est à débattre :

    - utiliser le français pour les commentaires et les noms de fonctions et de variables

    sur quelques boites où j'ai travaillé la mode était plutôt à adopter l'anglais pour les commentaires dans le code, les noms de variables et de fonctions, donc pas de français, ceci dans l'idée où le code source serait un jour amené à être travaillé par un développeur étranger, l'anglais servant de langue de travail internationale, utile aussi au cas où le code source passerait en open source sur des outils de travail collaboratif sur internet,

    ça permet aussi d'obliger le développeur à avoir un minimum de niveau en anglais,

    personnellement j'utilise l'anglais dans mon code source

  7. #27
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    Je trouve dommage que tout le monde se foute de l'optimisation. Je test souvent plein de petits jeux sur smartphone, et je trouve catastrophique de voir des jeux qui tournaient sur mon atari 1040, ramer comme c'est pas permis (et ce n'est pas limité au développement indépendant).
    C'est très différent dans ce cas-ci. Évidemment qu'il faut optimiser la façon dont un programme gère les ressources de la machine. Par contre, réécrire une boucle de manière illisible pour gagner 0.00000000000000000001 seconde est souvent plus nocif qu'autre chose.

    peut-être une mauvaise pratique à ajouter, mais c'est à débattre :
    - utiliser le français pour les commentaires et les noms de fonctions et de variables
    Déjà du français sans accent, c'est moche, pour moi c'est une raison suffisante pour coder en anglais, même si je suppose que certains langages les tolèrent.

  8. #28
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 50
    Points : 194
    Points
    194
    Par défaut
    concernant les boucles le compilateur s'il est bien conçu fait déjà en général une bonne optimisation,

    l'optimisation elle est à rechercher dans la bonne utilisation des objets, ne pas abuser des tableaux/collections afin de réduire l'empreinte "mémoire" du logiciel

  9. #29
    Expert confirmé Avatar de Zefling
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    1 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 174
    Points : 4 690
    Points
    4 690
    Par défaut
    Citation Envoyé par Potomac Voir le message
    peut-être une mauvaise pratique à ajouter, mais c'est à débattre :

    - utiliser le français pour les commentaires et les noms de fonctions et de variables

    sur quelques boites où j'ai travaillé la mode était plutôt à adopter l'anglais pour les commentaires dans le code, les noms de variables et de fonctions, donc pas de français, ceci dans l'idée où le code source serait un jour amené à être travaillé par un développeur étranger, l'anglais servant de langue de travail internationale, utile aussi au cas où le code source passerait en open source sur des outils de travail collaboratif sur internet,

    ça permet aussi d'obliger le développeur à avoir un minimum de niveau en anglais,

    personnellement j'utilise l'anglais dans mon code source
    Quand ta boîte répond à des problématiques franco-françaises pas exportables et que le code ne deviendra jamais open source, ça peut se discuter. Puis je préfère avoir du français lisible que de l'anglais imbitable écrit par des gens qui ne le maîtrisent pas, surtout quand ce sont des sujets qui sont spécifiques à la France. Pour une boîte qui a des vues à l'international, ça devient une obligation.

  10. #30
    Membre éprouvé

    Inscrit en
    Décembre 2009
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 146
    Points : 900
    Points
    900
    Par défaut
    Citation Envoyé par tontonnux Voir le message
    Justement les impacts de l'effet d'accumulation se voient surtout une fois que chaque partie tourne. A ce moment là, tu va pouvoir optimiser ce qui pose problème.
    Il ne s'agit pas de bannir l'optimisation, mais de ne pas "Optimiser votre code prématurément".

    Le but de l'optimisation ne doit pas être d'utiliser le moins de ressources possible, mais de permettre au système cible (un smartphone, un serveur avec n utilisateurs, n serveurs, etc...) de faire tourner l'application sans broncher.
    Je réagissais non pas à l'article qui parle d'optimision prématurée, mais au post de sevyc64 qui parlait de l'optimisation en général

    Citation Envoyé par mypad
    Je suis partiellement d'accord avec toi. Oui l'optimisation est importante (je dirais plutôt que ce qui est surtout important c'est de ne pas faire du code hyper gourmand déjà à la base avant de penser à optimiser). Mais en l'occurrence là c'est le contexte qui veut ça, l'optimisation n'est pas un + dans les jeux vidéos, c'est une propriété importante, voire essentielle.
    Tandis que sur un intranet, un back-office ou je ne sais quelle application web non sensible, l'optimisation n'est pas primordiale, l'important c'est que l'application soit fonctionnelle, maintenable et évolutive. L'optimisation trop tôt dans ce genre de contexte, peut être en effet un ennemi et une perte de temps injustifiée.
    Oui bien sur les besoins sont variables en fonction du projet.
    Après les optimisations à apporter vont aussi être "déplacées" dans les requêtes de base de données ou la bande passante (quoi que cette dernière a du être totalement oublié j'ai l'impression).

  11. #31
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Pour en remettre une couche

    Oui l'optimisation a son utilité, mais elle est le mal dans le développement moderne actuel. Pourquoi ?

    L'optimisation ne devrait et ne doit intervenir que sur un code terminé, finalisé, figé, un code qui n'évoluera plus et que très rarement. Hors avec les méthodes modernes, et surtout les pratiques actuelles, le code n'est jamais terminé, figé. Même déjà livré au client, le code continue d'évoluer, continue d'être développé. De plus, l'habitude a été prise de réduire les tests au minimum, livrant de fait des codes toujours grandement bogués, qu'il faut en permanence reprendre et corriger (et profitant de l'occasion pour introduire de nouvelles fonctionnalités, non testées, amenant leur lot de bugs, et on repart pour un cycle).
    On ne prend plus le temps de figer le code, de le couler dans le marbre. Dans ce processus là, faire de l'optimisation à outrance (et même pas forcément à outrance d'ailleurs), si, certes, elle peut amener une forte amélioration de performance, consomme énormément de temps, et ce, à chaque modification du code, c'est à dire en permanence, pouvant aussi largement compliquer la reprise et l'évolution du code, engendrant des surcout de temps, etc. C'est un cercle vicieux qui, au final, rend largement néfaste l'optimisation.

    C'est pour cela que je dis, qu'à l'heure actuelle, avec les habitudes de développement qui existent de nos jours, l'optimisation est le mal.

    Alors comment faire ?
    Ben comme on fait actuellement dans cette société de (sur)consommation, on compense par le matériel. Le matériel ne coute pas cher, il coute rien fasse au surcout de l'optimisation. 1000€ une machine, c'est une semaine de salaire d'un développeur suffisamment pointu pour faire de l'optimisation. C'est à dire, rien, peanuts, nada, insignifiant, ..........
    Alors on préconise en config minimum des machines surpuissantes.

    Pourquoi avons nous besoin de Core-I5 ou I7 alors que 90% de notre utilisation quotidienne de l'informatique se suffirait de PIII voire PIV avec des logiciels correctement optimisés.
    Mais comment arriver à correctement optimiser nos logiciels alors que l'on fait en sorte de sortir une nouvelle version toutes les 3 semaines, ou un nouvel OS tout les ans (vœux pieux pas encore réalisé dans la durée), là ou ce temps ce qu'il faudrait, voire même est inférieur au temps qu'il faudrait pour optimiser correctement la dite-version ?

    On nous parle de méthode de développement réactive, d'évolution continue, de cycle court, etc ... Mais tout ça est, par définition, totalement incompatible avec l'optimisation.
    Qui est capable, de nos jours, de développement un logiciel qui gère la totalité d'un module spatial, qui tient dans seulement 4Ko de mémoire, qui, 40 ans après sa mise en service, fonctionne encore sans aucun bug ? Même moi, l'ayant pourtant largement appris à l'école je serais bien incapable, je pense, de le refaire actuellement.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  12. #32
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    L'idée la plus judicieuse ici serait non pas de chiffrer chaque donnée pour la transporter, mais plutôt de chiffrer directement le média, la canal de transport. Par exemple, on ne chiffrera pas le mot de passe d'un formulaire d'identification avant de le renvoyer au serveur, mais on mettra plutôt directement le formulaire sous une connexion chiffrée via https par exemple.
    Merci @miky55 @sevyc64

    Je n'avais pas pensé au protocole HTTPS (HTTP + SSL/TLS). Maintenant le souci c'est d'avoir une certification auprès d'une autorité (cela coûte cher dans le cadre non-professionnel).
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  13. #33
    Membre chevronné

    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2004
    Messages : 758
    Points : 2 084
    Points
    2 084
    Par défaut
    Règle 3 : ne pas modulariser son code??

    On croit rêver de voir encore de nos jours un conseil pareil. Allez, réinventons la roue à chaque fois qu'on développe, et pour tout petit paramètre qui change, réécrivons tout le code.

  14. #34
    Membre confirmé

    Homme Profil pro
    Consultant en architecture
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en architecture
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Points : 562
    Points
    562
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    - Dans un monde de développeur idéal, les tests ne sont pas assurés par le développeur, ni même d'ailleurs écrit, mais par une équipe indépendante du projet et dédié à ces tests. Mais bon, ça aussi c'est très rare. Et puis c'est bien connu, les tests, c'est une perte de temps et puis il n'y a pas mieux placé que le client en production pour faire les vrais tests
    Je ne suis pas d'accord avec cette remarque. Pour moi le développeur ne se contente pas de livrer un bouton sur un écran ou de pisser du code à la chaîne, il livre une solution pour répondre à un besoin client de manière fiable, efficace et maintenable. Les tests sont un outil pour rendre son code fiable, c'est donc pleinement de son ressort.
    Quand bien même une équipe externe ferait des tests pour auditer le code (ou même un client pour spécifier une partie de son besoin, on peut toujours rêver ), le développeur devrait toujours avoir à coder quelques tests pour s'assurer du comportement de ce qu'il a écrit (sous-fonctions, cas exotiques pas prévus initialement...).

    Citation Envoyé par blbird Voir le message
    Règle 3 : ne pas modulariser son code??
    On croit rêver de voir encore de nos jours un conseil pareil. Allez, réinventons la roue à chaque fois qu'on développe, et pour tout petit paramètre qui change, réécrivons tout le code.
    Justement, ce n'est pas une règle mais une mauvaise pratique à éviter. Et malheureusement, bien modulariser son code et adopter un découpage pertinent n'est pas toujours si facile.

  15. #35
    Expert éminent
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    2 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 2 161
    Points : 7 952
    Points
    7 952
    Par défaut
    @GeoffreyOnRails : je suis d'accord avec toi et je dirai même que l'idéal et que les développeurs tournent dans les équipes : conception / dev / test / production

    L'écriture des dossiers de conception (ou spécification technique) est un travail complexe car il implique de comprendre le besoin métier et de l'exprimer techniquement en vision macro
    Le développement est la construction du programme en concret d'une vision macro. Il y a donc toujours des cas particuliers non prévus (cas métiers ou techniques)
    La validation d'un développement est ardu car il faut savoir se mettre à la place des utilisateurs et prévoir tous les cas tordus.
    La production a les contraintes du maintient de service et de l'analyse à chaud des anomalies

    Ces 4 domaines sont tous des faces d'une seule et même pièce : le métier d'analyste développeur

    Le développeur n'est pas juste un ouvrier qui "pisse" des lignes de code à longueur de journée
    Un développeur a vocation à coder des programmes qui fonctionnent, qui répondent à un besoin et qui sont utilisés et utilisables

    Coder quelques choses que le client ne veut pas ou n'a pas besoin, ne sert à rien
    Coder quelque chose qui plante tout le temps ne sert à rien

    L'idéal est que chaque membre tourne dans chaque équipe afin de prendre conscience des spécifiés de chaque phase de projet.
    J'ai eu l'occasion de le faire et cela a été l'une de mes plus belle expérience professionnelle.

  16. #36
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2010
    Messages : 185
    Points : 167
    Points
    167
    Par défaut Ne pas faire de fautes en en laissant une trainer dans l'article...
    Bonjour,
    C'est bien de donner des leçons mais il faut aussi accepter l'erreur... Exemple, et je site :
    "1 - Les erreurs d’orthographe dans vos codes..."
    "5 - Ne pas utiliser un bon chiffrement pour protéger les données : les données critiques doivent être chiffrées parce qu’elles se déplacent sur le réseau et son donc potentiellement exposées à des interceptions chemin faisant."

    Ca sonne bien à l'oreille mais ce n'est pas le bon son car elles sont plusieurs...

    Sinon, article intéressant mais qui ne peux réellement être mis en pratique que de façon personnelle, à moins de mettre en place de la revue de code, ce qui coûte du temps, de l'argent, une autre ressource (pas forcément à temps plein).

    Personnellement je m'applique à le faire depuis des années...

    Au plaisir

  17. #37
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par ypelissier Voir le message
    C'est bien de donner des leçons mais il faut aussi accepter l'erreur... Exemple, et je site :
    No comment

  18. #38
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 63
    Points : 201
    Points
    201
    Par défaut
    Citation Envoyé par Potomac Voir le message
    peut-être une mauvaise pratique à ajouter, mais c'est à débattre :

    - utiliser le français pour les commentaires et les noms de fonctions et de variables

    sur quelques boites où j'ai travaillé la mode était plutôt à adopter l'anglais pour les commentaires dans le code, les noms de variables et de fonctions, donc pas de français, ceci dans l'idée où le code source serait un jour amené à être travaillé par un développeur étranger, l'anglais servant de langue de travail internationale, utile aussi au cas où le code source passerait en open source sur des outils de travail collaboratif sur internet,

    ça permet aussi d'obliger le développeur à avoir un minimum de niveau en anglais,

    personnellement j'utilise l'anglais dans mon code source
    Point de vue que je partage. Pour les raisons citées, mais aussi parce que je trouve le français trop verbeux pour l'utiliser dans des noms de variables, fonctions, classes... Sans oublier le problèmes des accents. (Ça passe dans certains langages, comme le C#, mais c'est plutôt l'exception que la règle.) De toute façon, les mots-clés, les fonctions standards, les frameworks, les bibliothèques diverses et variées qu'on est amené à utiliser, eh bien c'est en général de l'anglais ! Rajouter du français au dessus de tout ça, ça fait gloubiboulga. Ça n'interdit pas que le programme puisse être opérationnel, mais on ne peut s'empêcher d'avoir un à-priori négatif. Les commentaires en français, ok, si on est sûr que ça restera franco-français, mais pas le code. Et enfin, il est rare qu'on ait à coder une application en partant d'une page blanche. (Dans mon cas en tout cas.) Or généralement, ce qu'on utilise est en anglais.

    Au delà du français, il est de bon sens aussi d'avoir des conventions de nommage suffisamment précises et qu'il faut respecter. Si c'est un petit programme à soi et qui n'est pas destiné à évoluer, on s'en fout un peu, c'est vrai, mais dans le cas contraire, ne pas avoir des conventions de nommage claires ou ne pas les respecter... c'est tendre vers quelque chose de bordélique et donc plus difficile à maintenir.

    Pour ce qui est des commentaires, c'est une faute de ne pas en mettre (ou pas assez), mais c'est une faute aussi d'en mettre trop. Il ne faut pas commenter des choses évidentes (fréquent chez les débutants), ni penser que des commentaires puissent constituer une documentation technique. (Les deux doivent exister à part entière.)

    Autres points que j'ajouterais :
    • Ne pas détourner les patterns de leur sens : bien les connaître, utiliser le bon patern dans le bon contexte.
    • Ne pas s'éloigner du cahier des charge en se disant "qui peut le plus peut le moins". S'il y a un flou dans les spécifications, il faut se faire préciser les choses. Un programme doit répondre strictement aux besoins exprimés, ni plus ni moins.


    Tout cela peut paraître évident et de bon sens. C'est le cas, en effet. Mais c'est comme le code de la route : tout le monde le connait, or il est tellement facile parfois de passer outre les règles, que ce soit par manque de temps ou par paresse. Même parmi les conducteurs chevronnés.

  19. #39
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Citation Envoyé par Kalishah Voir le message
    Point de vue que je partage. Pour les raisons citées, mais aussi parce que je trouve le français trop verbeux pour l'utiliser dans des noms de variables, fonctions, classes... Sans oublier le problèmes des accents.
    Un gros avantage de l'anglais, c'est le fait que le mot le plus significatif se trouve à droite: http_request (requête HTTP), tmp_file (fichier temporaire), other_input (autre saisie)

  20. #40
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 63
    Points : 201
    Points
    201
    Par défaut
    Tout à fait. Et puis d'ailleurs il y a les acronymes aussi, qu'on est susceptible d'introduire dans le nommage des fonctions, classes, etc. Pour reprendre l'exemple, HTTP, on comprend tout de suite... tandis que PTHT... eh bien ça ne parle à personne ! On aura donc tendance à ne pas écrire de façon rigoureuse en français mais plutôt en franglais. Et quand on a soi-même ses propres acronymes ? En toute logique on les écrit en français, mais du coup cela fait qu'on a tantôt du français, tantôt du franglais... Bref un méli-mélo !

Discussions similaires

  1. Les développeurs sont-ils des destructeurs d’emploi ?
    Par Hinault Romaric dans le forum Débats sur le développement - Le Best Of
    Réponses: 450
    Dernier message: 09/09/2020, 10h08
  2. Les développeurs détestent-ils les antivirus ?
    Par Hinault Romaric dans le forum Débats sur le développement - Le Best Of
    Réponses: 38
    Dernier message: 30/09/2019, 19h14
  3. Pourquoi les développeurs travaillent-ils la nuit ?
    Par Gordon Fowler dans le forum Humour Informatique
    Réponses: 122
    Dernier message: 06/10/2013, 01h30
  4. Réponses: 17
    Dernier message: 24/02/2012, 11h33
  5. Tous les navigateurs devraient-ils implémenter le protocole HSTS ?
    Par Katleen Erna dans le forum Actualités
    Réponses: 7
    Dernier message: 18/11/2010, 14h05

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