+ Répondre à la discussion Actualité déjà publiée
Page 1 sur 3 123 DernièreDernière
  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    2 971
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 2 971
    Points : 66 315
    Points
    66 315

    Par défaut Comment écrire le code qui vivra éternellement en entreprise ?

    Comment écrire le code qui vivra éternellement en entreprise
    et qui sera regardé avec crainte et respect ?

    Dans un processus de développement, plusieurs règles doivent être respectées afin que le code puisse être facilement compréhensible par un autre et donc que la maintenance ne soit pas une épreuve digne d’un des travaux d’Hercule. Au vu de certains manquements qu’il a observés dans les habitudes, Steven A. Lowe, développeur consultant, a rédigé un billet satirique qui exalte la culture de l’obscurantisme.

    Vous vous inquiétez parce qu’un développeur pourrait venir gâcher la beauté immaculée de votre solution si soigneusement élaborée ? Ne serait-il pas préférable d’écrire un code que personne à part vous ne serait capable de comprendre, un code qui serait regardé avec crainte et respect et qui vivra éternellement dans l’entreprise parce que personne n’aura osé le toucher ? Ce n’est pas facile, mais avec un peu d’effort, vous pourrez développer les habitudes et la discipline pour écrire ce code qui va durer éternellement. Comment ?

    Ne rien tester :

    Les tests sont juste une perte de temps. Ils vous donnent une illusion de confiance et pourraient révéler à une tierce personne comment les choses fonctionnent. Si vous devez écrire des tests, faites-le en dernier et affirmez juste qu’ils sont concluants. Ne les écrivez surtout pas de prime abord et ne vous en servez pas pour guider la conception ; un code développé de cette façon est trop facile à comprendre et à changer.

    Ne rien modifier :

    Tout d’abord s’il n’y a pas de bug, n’essayez pas de colmater de failles. Ensuite, personne n’a le temps d’évoluer en élégance et simplicité. Les développements pilotés par des tests, s’ils sont requis, peuvent être transformés en une liste d’éléments affublés de la mention vérifié / pas vérifié.

    Écrire du code indéchiffrable :

    Donnez des noms à vos classes et vos méthodes pour reformuler ce qu’elles font, pas leur responsabilité. Des noms comme ObtenirLesAchatsPrealablesDuMemeProduit sont trop longs et trop informatifs. RechercherSemblables serait beaucoup mieux. Ou encore Rechercher tout simplement. C’est simple : les noms génériques ça déchire ! Aussi, il faut les utiliser autant que possible.

    Il faut utiliser les abréviations et les acronymes pour nommer les interfaces. Il faut utiliser les structures génériques, pas seulement pour économiser en temps et en effort, mais également pour masquer les informations de type. Gardez les structures fortement typées pour des ensembles non typés. Faites des tableaux de tout.

    De façon occasionnelle (pas trop souvent quand même), donnez aux variables des noms qui impliquent les mauvais types comme nommer une valeur numérique à virgule flottante MessageTexte. Passez des valeurs en utilisant Object ou String et n’encapsulez pas les types de valeur. Si vous devez utiliser des constantes, donnez-leur le même nom que leurs valeurs ou alors utilisez des noms avec des lettres grecques.

    Les commentaires sont une opportunité pour mal orienter. Aussi, les meilleurs commentaires vont simplement répéter ce que le code fait et restent les mêmes après que le code soit changé. Gardez à l’esprit que la personne qui lit votre code ne doit voir que le reflet de ce qu’il fait au niveau de l’implémentation : l’ouverture de connexions, la recherche des résultats, le traitement, le retour des résultats, etc.

    Écrire du code illisible :

    La lecture du code d’autres personnes est une perte de temps et pourrait corrompre votre style créatif. Insistez sur vos propres normes et conventions, mais ne les documentez jamais.

    Les espaces sont des gaspillages. Le code sera compilé bien plus vite sans tous ces caractères supplémentaires et la séparation pourrait rendre le code plus lisible. Mettez donc tout sur une seule ligne aussi longtemps que vous le désirez.

    La modularité est pour les simples d’esprit. Vous pouvez garder toute la solution dans votre tête, alors pourquoi la déverser dans de multiples classes et méthodes ?

    La complexité est belle et la complexité qui n’est pas nécessaire l’est encore plus. C’est tellement mieux d’utiliser les dernières fonctionnalités du langage qui vous permettent d’écrire deux lignes obscures de code au lieu d’en écrire cinq avec des effets évidents. Si jamais quelqu’un venait à vous interroger sur votre choix, rétorquez que c’est plus efficace ou que c’est ridicule de ne pas connaître les fonctionnalités ésotériques du langage dont vous vous êtes servies.

    Ne pas partager les informations :

    N’expliquez jamais pourquoi votre code fait quelque chose. En fait, évitez les collègues ou au moins évitez de parler des projets sur lesquels vous travaillez ; vos collègues pourraient avoir des suggestions à vous faire, et les suggestions sont tellement ennuyeuses. En plus, vous pourrez accidentellement en dire tellement sur ce que vous faites que vos collègues pourraient le comprendre. Rien de tout ceci n’est souhaitable.

    Ne faites pas de programmation par paires, jamais, et évitez les codes review. Tout ça va juste contribuer à perdre votre temps en questions auxquelles vous avez déjà répondu dans le code. Si vous êtes acculés, contentez-vous de décrire ce que le code fait.

    S’il est impératif que vous interagissiez avec quelqu’un d’autre, ne le faites que via des courriels et prenez la peine d’espacer vos réponses d’un ou deux jours.

    Contournez ou transgressez les soi-disant « politiques » ou « normes » qui pourraient interférer avec vos plans infâmes. De toutes les façons, toutes les raisons qu’ils ont évoquées comme « l’amélioration de la qualité » ou « un gain de temps » sont des mensonges. D’autre part, s’il vous arrive également d’être en charge d’autres développeurs, vous pourrez émettre des politiques, directives et modifications de processus aussi souvent que vous le souhaitez sans jamais expliquer pourquoi.

    S’il y a de nouveaux développeurs dans l’équipe, spécialement de nouveaux diplômés, laissez-les sans orientation, ne les soutenez pas. Assurez-vous de tourner en ridicule leurs questions ou alors ignorez-les tous en continuant de faire pression sur eux pour qu’ils terminent les projets sur lesquels ils travaillent.

    DevOps ? Ah ça non !

    Les pratiques et les praticiens DevOps doivent être évités. Mettez tout manuellement en place, selon votre convenance et aussi souvent que vous le souhaiterez. Méfiez-vous des systèmes de contrôles de code source.

    Vive la mauvaise documentation :

    Si vous êtes contraint de rédiger une documentation externe, rédigez-la afin que vous seul soyez capable de la comprendre. Ne définissez jamais les acronymes et laissez de côté quelques étapes critiques, après tout vous avez dû travailler dur pour parvenir à les implémenter, alors pourquoi pas les autres ?

    Ne cherchez rien :

    C’est un signe de faiblesse. Découvrez tout de vous-même en vous basant sur vos principes. Les bibliothèques des autres sont suspectes, alors écrivez vos propres frameworks.

    Si vous appliquez religieusement ces préceptes, vos programmes deviendront comme les zombies de The Walking Dead, toujours en décomposition, mais jamais tout à fait mort. Vos efforts vont hanter le code base longtemps après votre départ.

    Source : TechBeacon

    Et vous ?

    Que pensez-vous de ces préceptes ? Pouvez-vous en proposer d'autres pour écrire un code qui vous survivra ?

    Voir aussi :
    [Tutoriel] L'art de programmer salement
    Forum Humour
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Expert confirmé
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    janvier 2011
    Messages
    2 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : janvier 2011
    Messages : 2 218
    Points : 5 990
    Points
    5 990

    Par défaut

    On est plus dans les années 80.
    Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.

  3. #3
    Membre éprouvé Avatar de dfiad77pro
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    décembre 2008
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2008
    Messages : 427
    Points : 1 258
    Points
    1 258

    Par défaut

    ça va ça ??

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public static TypeQuery TrouverUnTrucV26321(){
    var t = "SE_L_E_CT  *****  FR_O_M_  MAT_AB_LE WHERE DDE=33 AND CCCOL='A'  ";
     
    t= t.Replace ("_","");
    t= t.Replace ("*****","*");
     
    var cc = (ICustomDataProvider)Environnement.GetInstance().GetSqlHelper().GetOracleSqlQueryHelper().ExecuteOracleQueryWithALotOfResult(t);
     
    //On fait une pause
    For (long iii=0 ;iii< 99999999999999999 ;iii++){
    Console.WriteLine("On fait chauffer la machine pour faire le café");
    }
    return cc;
    }

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    janvier 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2008
    Messages : 131
    Points : 302
    Points
    302

    Par défaut

    C'est une news pour apprendre à se faire virer?

  5. #5
    Membre éprouvé Avatar de dfiad77pro
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    décembre 2008
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2008
    Messages : 427
    Points : 1 258
    Points
    1 258

    Par défaut

    Citation Envoyé par eldran64 Voir le message
    C'est une news pour apprendre à se faire virer?
    le soucis est justement que dans beaucoup de structure , tu te fais pas virer pour ça

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : juin 2010
    Messages : 317
    Points : 856
    Points
    856

    Par défaut

    C'est une news pour apprendre à se faire virer?
    Il suffit d'avoir suffisamment de bons contacts / des collègues débordés ou qui s'en foutent / pas doués techniquement.
    La rentabilité est un facteur aussi. "Tant que ça marche, on n'y touche pas" : qui n'a jamais entendu ce paradigme ? Cette expression n'est pas dénué de bon sens capitaliste à court-terme. Pourquoi améliorer quelque chose que le client ne demande pas et qu'il ne remarquera jamais ?
    Et puis : pas de bug, pas de ticket. Pas de ticket, pas d'argent. Et pas d'argent ... pas d'argent.


    Ceci dit, le dernier paragraphe du blog n'a pas été traduit et c'est bien dommage
    On dit souvent qu'il faut écrire le code comme si la personne reprenant le projet sera un psychopathe violent connaissant votre adresse. Mais cela est hautement improbable : elle sera bien trop occupée à batailler votre horde de zombies.

    Rappelez-vous juste de ne jamais mettre votre nom.
    "Donnez un poisson à un Homme, et il mangera un jour. Apprenez-lui à pêcher, et il mangera tous les jours."

  7. #7
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    novembre 2003
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : novembre 2003
    Messages : 766
    Points : 1 978
    Points
    1 978
    Je ne suis pas mort, j'ai du travail !

  8. #8
    Membre éprouvé Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    juillet 2004
    Messages
    813
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2004
    Messages : 813
    Points : 1 217
    Points
    1 217

    Par défaut

    Citation Envoyé par dfiad77pro Voir le message
    le soucis est justement que dans beaucoup de structure , tu te fais pas virer pour ça
    Bien au contraire : « Les gens les moins compétents sont systématiquement affectés aux postes où ils risquent de causer le moins de dégâts : ceux de managers. »

    En appliquant scrupuleusement ça, tu as une chance de devenir chef de projet. De toutes façons tu deviens indispensable, donc tu ne sera jamais viré.
    Sondages gratuits : Le troc d'opinions

  9. #9
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2014
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : avril 2014
    Messages : 534
    Points : 919
    Points
    919

    Par défaut

    Un conseil important a été oublié : répétez-vous.

    Je reprends pour le moment pas mal de code d'un ancien collègue. Sur un site, pour un formulaire d'envoi de candidature soit spontanée, soit en réponse à une annonce (la seule différence étant que l'annonce est référencée dans le mail généré dans le deuxième cas) il me fait deux templates de formulaires et deux traitements complets. Un bonheur pour la maintenance.

  10. #10
    Expert éminent

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    avril 2002
    Messages
    1 231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : avril 2002
    Messages : 1 231
    Points : 8 375
    Points
    8 375

    Par défaut

    Très beau troll pour le week end, bravo Stéphane, la tu t'es surpassé

    Le pire c'est que ce qui est décrit est très courant
    Ne prenez pas la vie au sérieux, vous n'en sortirez pas vivant ...

  11. #11
    Invité
    Invité(e)

    Par défaut

    Citation Envoyé par transgohan Voir le message
    On est plus dans les années 80.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void main()
    {
      string thecode = "{themachinehexacode}";
      Run(thecode);
    }

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    août 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : août 2014
    Messages : 18
    Points : 60
    Points
    60

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    #include <stdio.h>
    
    char
    *T="IeJKLMaYQCE]jbZRskc[SldU^V\\X\\|/_<[<:90!\"$434-./2>]s",
    K[3][1000],*F,x,A,*M[2],*J,r[4],*g,N,Y,*Q,W,*k,q,D;X(){r  [r
    [r[3]=M[1-(x&1)][*r=W,1],2]=*Q+2,1]=x+1+Y,*g++=((((x&     7)
    -1)>>1)-1)?*r:r[x>>3],(++x<*r)&&X();}E(){A||X(x=0,g       =J
    ),x=7&(*T>>A*3),J[(x[F]-W-x)^A*7]=Q[x&3]^A*(*M)[2         +(
    x&1)],g=J+((x[k]-W)^A*7)-A,g[1]=(*M)[*g=M[T+=A            ,1
    ][x&1],x&1],(A^=1)&&(E(),J+=W);}l(){E(--q&&l              ()
    );}B(){*J&&B((D=*J,Q[2]<D&&D<k[1]&&(*g++=1                ),
    !(D-W&&D-9&&D-10&&D-13)&&(!*r&&(*g++=0)                   ,*
    r=1)||64<D&&D<91&&(*r=0,*g++=D-63)||D                     >=
    97&&D<123&&(*r=0,*g++=D-95)||!(D-k[                       3]
    )&&(*r=0,*g++=12)||D>k[3]&&D<=k[                          1]
    -1&&(*r=0,*g++=D-47),J++));}j(                            ){
    putchar(A);}b(){(j(A=(*K)[D*                              W+
    r[2]*Y+x]),++x<Y)&&b();}t                                 ()
    {(j((b(D=q[g],x=0),A=W)                                   ),
    ++q<(*(r+1)<Y?*(r+1):                                     Y)
    )&&t();}R(){(A=(t(                                        q=
    0),'\n'),j(),++r                                          [2
    ]<N)&&R();}O()                                            {(
    j((r[2]=0,R(                                              ))
    ),r[1]-=q)                                                &&
    O(g-=-q)                                                  ;}
    C(){(                                                     J=
    gets                                                      (K
    [1]))&&C((B(g=K[2]),*r=!(!*r&&(*g++=0)),(*r)[r]=g-K[2],g=K[2
    ],r[
    1]&&
    O())
    );;}
    main
    (){C
    ((l(
    (J=(
    A=0)
    [K],
    A[M]
    =(F=
    (k=(
    M[!A
    ]=(Q
    =T+(
    q=(Y
    =(W=
    32)-
    (N=4
    ))))
    +N)+
    2)+7
    )+7)
    ),Y=
    N<<(
    *r=!
    -A))
    );;}
    iOCCC FTW

  13. #13
    Invité
    Invité(e)

    Par défaut

    Citation Envoyé par HippoBaro Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    #include <stdio.h>
    
    char
    *T="IeJKLMaYQCE]jbZRskc[SldU^V\\X\\|/_<[<:90!\"$434-./2>]s",
    K[3][1000],*F,x,A,*M[2],*J,r[4],*g,N,Y,*Q,W,*k,q,D;X(){r  [r
    [r[3]=M[1-(x&1)][*r=W,1],2]=*Q+2,1]=x+1+Y,*g++=((((x&     7)
    -1)>>1)-1)?*r:r[x>>3],(++x<*r)&&X();}E(){A||X(x=0,g       =J
    ),x=7&(*T>>A*3),J[(x[F]-W-x)^A*7]=Q[x&3]^A*(*M)[2         +(
    x&1)],g=J+((x[k]-W)^A*7)-A,g[1]=(*M)[*g=M[T+=A            ,1
    ][x&1],x&1],(A^=1)&&(E(),J+=W);}l(){E(--q&&l              ()
    );}B(){*J&&B((D=*J,Q[2]<D&&D<k[1]&&(*g++=1                ),
    !(D-W&&D-9&&D-10&&D-13)&&(!*r&&(*g++=0)                   ,*
    r=1)||64<D&&D<91&&(*r=0,*g++=D-63)||D                     >=
    97&&D<123&&(*r=0,*g++=D-95)||!(D-k[                       3]
    )&&(*r=0,*g++=12)||D>k[3]&&D<=k[                          1]
    -1&&(*r=0,*g++=D-47),J++));}j(                            ){
    putchar(A);}b(){(j(A=(*K)[D*                              W+
    r[2]*Y+x]),++x<Y)&&b();}t                                 ()
    {(j((b(D=q[g],x=0),A=W)                                   ),
    ++q<(*(r+1)<Y?*(r+1):                                     Y)
    )&&t();}R(){(A=(t(                                        q=
    0),'\n'),j(),++r                                          [2
    ]<N)&&R();}O()                                            {(
    j((r[2]=0,R(                                              ))
    ),r[1]-=q)                                                &&
    O(g-=-q)                                                  ;}
    C(){(                                                     J=
    gets                                                      (K
    [1]))&&C((B(g=K[2]),*r=!(!*r&&(*g++=0)),(*r)[r]=g-K[2],g=K[2
    ],r[
    1]&&
    O())
    );;}
    main
    (){C
    ((l(
    (J=(
    A=0)
    [K],
    A[M]
    =(F=
    (k=(
    M[!A
    ]=(Q
    =T+(
    q=(Y
    =(W=
    32)-
    (N=4
    ))))
    +N)+
    2)+7
    )+7)
    ),Y=
    N<<(
    *r=!
    -A))
    );;}
    iOCCC FTW

  14. #14
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    9 027
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2007
    Messages : 9 027
    Points : 23 945
    Points
    23 945

    Par défaut

    Tout ça ressemble étrangement aux pratiques de mes prédécesseurs sur le produit que je maintiens. Sauf que pour eux, j'ai la certitude que ça a été fait involontairement par manque de connaissances et compétences.
    --- Sevyc64 ---

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

  15. #15
    En attente de confirmation mail

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

    Informations forums :
    Inscription : septembre 2013
    Messages : 642
    Points : 2 273
    Points
    2 273

    Par défaut

    Le vrai problème est que chacun(e) d'entre nous est persuadé(e) qu'il/elle écrit du code lisible, maintenable, réutilisable, factorisé et bien documenté... et que ce sont les autres qui font le contraire. Le nul, c'est toujours l'autre.

  16. #16
    Invité
    Invité(e)

    Par défaut

    c'est comme avec les utilisateurs, qui n'a jamais entendu un user se plaindre d'avoir planté le système et un concepteur répondre au lieu de

  17. #17
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2015
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2015
    Messages : 81
    Points : 80
    Points
    80

    Par défaut

    Si tout le monde écrivait une code que personne ne peut comprendre je crois l'informatique ne pourra plus bien évoluer .

  18. #18
    Membre émérite Avatar de air-dex
    Homme Profil pro
    Inscrit en
    août 2010
    Messages
    1 362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 1 362
    Points : 2 858
    Points
    2 858

    Par défaut

    Pas tout à fait d'accord avec le "ne pas tester". Il faut tout de même s'assurer que le bout de code en question marche. Si ça bogue de partout les mainteneurs auront moins de scrupules à faire sauter le bout de code problématique. Si ces bouts de codes s'installent sur le long terme dans les projets, c'est aussi parce que ça marche et que les mainteneurs ne vont pas aller toucher à la boîte noire de peur d'aller créer des bugs.
    "Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain

    Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).

  19. #19
    Membre averti Avatar de cervo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2012
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : décembre 2012
    Messages : 212
    Points : 378
    Points
    378

    Par défaut Parfait Codeur


    çà c'est le parfait cocktail pour être le premier viré au moindre dysfonctionnement du programme
    En plus faut savoir que si les prédecesseurs avaient ces habitudes celui qui se comporte comme çà n'aurait même pas eu l'ocassion d'écrire une seule ligne de code ... !
    faut toujours penser àu prochain
    Toute chose dépend de la valeur qu'on lui attribue !

  20. #20
    Invité
    Invité(e)

    Par défaut

    Ben en arrêtant l'ordonnanceur ?

Discussions similaires

  1. [XL-2003] comment ecrire un code qui parcours une colonne?
    Par doudou8mc dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/07/2009, 16h21
  2. Réponses: 5
    Dernier message: 12/04/2009, 10h23
  3. Comment écrire un shell qui transforme un code ascii en caractère?
    Par jack-ft dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 21/04/2008, 17h51
  4. [VBA Excel] Comment écrire un code dans le ThisWorkBook ?
    Par WebPac dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2005, 15h03
  5. [C#]Comment executer du code qui se trouve dans une string ?
    Par freddyboy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/02/2005, 16h31

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