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

Autres EDI Discussion :

Quels sont vos trucs et astuces pour passer outre les limitations des EDI ?


Sujet :

Autres EDI

  1. #1
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut Quels sont vos trucs et astuces pour passer outre les limitations des EDI ?
    Quels sont vos trucs et astuces pour passer outre les limitations des EDI ?
    Comme marquer des arrêts dans un code volumineux sans points d’arrêt

    Les applications contenant des fichiers de source avec des lignes de code volumineux sont très souvent sujet à des dysfonctionnements. Les développeurs souhaitent alors retrouver rapidement le bloc ou la ligne qui ne s'exécute pas correctement.

    Plusieurs techniques et outils permettent d'effectuer le débogage d'un programme et d'observer son fonctionnement pour apporter des corrections de bugs ou faire des optimisations.

    Parmi eux, les points d'arrêt (breakpoints) sont très utilisés. Un point d'arrêt peut être vu comme un signal qui indique au débogueur de suspendre temporairement l'exécution d'un programme à un certain point (tout en gardant les variables, objets et autres en mémoire). Les points d'arrêt sont donc indispensables pour examiner les états à la recherche de violations ou de bugs. Ils sont surtout très pratiques pour l'analyse des codes volumineux.

    Cependant, il arrive que certains EDI aient des limitations. Visual Studio par exemple, ne prend plus en compte les points d'arrêt sur les lignes après la 64.000ième ligne de code.

    Une limitation assez contraignante pour les développeurs .NET, en particulier les développeurs C++, et également pour du code généré qui s'avère le plus souvent assez volumineux, et dont l'on souhaiterait comprendre le fonctionnement.

    Pour la contourner, on peut cependant se tourner vers des astuces comme l'utilisation de l'instruction goto en C++ ou encore l'instruction « Stop » en Visual Basic.

    D'autres techniques peuvent encore être utilisées pour réduire et optimiser le code contenu dans un fichier source.

    A vous de nous dire celles que vous utilisez.

    La notification de Microsoft sur la limitation du debogueur Visual Studio

    Et vous ?

    Quelles sont vos astuces pour réduire/optimiser le nombre de lignes de code contenu dans un fichier source, ou pour marquer des temps morts et analyser votre code sans passer par des points d'arrêt ?

    Que conseillez-vous dans ce cas ?
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    64000 lignes de code dans 1 fichiers ??? Utiliser des goto en C++ ???
    C'est une limitation des EDI ou un bug chez le développeur ?
    C'est compatible avec les bonnes pratiques de codage ?

  3. #3
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 391
    Points : 863
    Points
    863
    Par défaut
    bun déjà ça dépend de l'edi et même du langage.

    pour un langage web, qqsoit l'edi il y a toujours le bon vieux alert(ma variable)

    pour les langag dur (winform, delphi,exe..), bun.....les msgbox

    et pour les deux, dans le pire des cas, des sleep(secondes) peuvent aller...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Janvier 2009
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Pour moi, un nombre trop élevé de lignes de code indique un problème de conception.

  5. #5
    Membre éprouvé Avatar de cs_ntd
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2006
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 598
    Points : 1 214
    Points
    1 214
    Par défaut


    J'approuve totalement la remarque de gbdivers.
    64,000 lignes de codes dans un seul fichier, il faut etre completement stupide (disons inconscient). Et meme si par un hasard fou, il y avait une seule classe dans ce fichier qui requiert effectivement plus de 64,000 lignes, c'est quand meme pas si compliqué d'utiliser 2 fichiers (ou plus).

    Et en .NET c'est de l'abrutissement complet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Une limitation assez contraignante pour les développeurs .NET
    Me faites pas rire, les 'partial class' rendent l'utilisation de multiples fichiers pour une seule classe parfaitement transparente pour le développeur... Donc le coup du Stop en VB ...

    En C++ c'est moins "évident", mais en jouant 2 secondes avec des includes on fait très bien 2 fichiers aussi

    Bon je veux bien croire que c'est une limite étrange, mais si en plus les gens qui font des fichiers de 64,000 lignes de code utilisent des goto et des Stop, non mais franchement

    The magic of Opera, La magie de l'Opera
    The mysteries of Space Opera, Les mystères de l'Opera Spatial
    Mr. Know-it-all, M. Je-Sais-Tout
    Prelude in C sharp minor, the most beautiful piano song and the best C sharp prelude ever, Prélude en do dièse mineur, le plus beau morceau de piano et le meilleur prélude au C#
    The Mesmerizing Saphir Division for Nerds, L'Hypnotisante Division Saphire pour les Nerds (HDSN)

  6. #6
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 391
    Points : 863
    Points
    863
    Par défaut
    la dernière fois que j'ai codé ou plus tôt entré 64000l de code c'était en recopiant des pages et des pages de lignes de code d'un journal (amstrad cpc) pour avoir un jeu !

    ah ces lignes de binômes hexadécilames....yen avait des colonnes, des pages...

    plus sérieusement 640000 lignes de codes consécutives dans un langage évolué....ça peut arriver ?
    genre le code d'instanciation d'un objet à bcp de propriétés à nom de propriété longues, avec beaucoup de sous-prop.
    Qq chose comme ça

    mon objet (
    att1,x,y,z) et on remplace atti1 , x, x,z par des nom hyper long et en plus grand qqtié

    pourquoi pas ?

    sinon, ya aussi la création d'une matrice non itérative à plusieurs dimensions....(genre un échantillon aléatoire)

    sinon pourquoi ausi une requête sql énorme dans une table à bcp de champs à nom à rallonge

    et sinon (je crois que j'ai trouvé le tbon exemple) : un report !

    bun oui, (sous erreur ou inculture) quand on code un report dans ireport (ou crystal report), on peut pas découper le fichier centrale (le jrxml) en plusieurs sous parties non ?
    donc suffit de composer un report ou chaque page est unique (sans itératio,, ni grouping, ni pied...) genre un cahier de synthèse et hop ! on a les 60000 lignes !

  7. #7
    Membre averti
    Avatar de Cyrilange
    Profil pro
    Inscrit en
    Février 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 268
    Points : 337
    Points
    337
    Par défaut
    La dernière fois que j'ai approché les 60000 lignes de code c'était en GFA Basic sur un Atari 1040 ST pour un logiciel calculant les mutations génétiques d'oiseaux.

    Merci la programmation orientée objet et VB.NET qui nous évite ce genre de sac de noeuds.

    Je trouve ce sujet sans fondement ou alors je veux voir un exemple concret où il n'y a pas d'autres possibilités de que mettre 60000 lignes de codes dans une classe.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 182
    Points : 268
    Points
    268
    Par défaut
    hmmm au lieu de contourner les limites debuggeur pourquoi pas simplement apprendre à developper ?

    quelqu`un peut m`expliquer dans quel contexte on peut avoir 64,000 lignes de code dans un meme fichier ?

  9. #9
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Citation Envoyé par Nanocom Voir le message
    Pour moi, un nombre trop élevé de lignes de code indique un problème de conception.
    Ce genre de problème arrive malheureusement souvent quand on a recours a des générateurs de code automatique qui s’embarrassent rarement de ce genre de concept

    Certes c'est moche, mais tu n'as malheureusement pas toujours la maitrise de tout ça. Souvent tu es obligé de faire avec ce qu'on te donne.

  10. #10
    Membre confirmé

    Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2004
    Messages : 178
    Points : 645
    Points
    645
    Par défaut
    Hinault Romaric, le jour où vous verrez en .NET une classe comportant plus de 64 000 lignes de code (), ça vaudra le coups d'en faire une news, car ça ne sera pas demain la veille...

    Parce qu'atteindre ça pour une classe, c'est vraiment un problème de conception, mais bon, admettons, comme dit plus haut, le mot clé "partial" résoud ce problème très simplement, et du coup, ce n'est pas une contrainte pour les développeurs .NET.

    Référence: http://msdn.microsoft.com/fr-fr/libr...v=VS.100).aspx

  11. #11
    Membre averti

    Homme Profil pro
    Ingénieur applications 3D temps réel
    Inscrit en
    Août 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur applications 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 63
    Points : 412
    Points
    412
    Par défaut
    Un moyen de s'arrêter dans l'application? (C,C++)

    Et voila, c'est arrêté

  12. #12
    Membre averti
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Points : 364
    Points
    364
    Par défaut
    Lorsque j'ai fait mon fichier de 64.000 lignes, j'ai une méthode pour débugger (non, c'est pas une corde).

    Je fais tout simplement un fonction de log et je trace les infos dont j'ai besoin et qui me permettrait de trouver mon problème.
    Dans le cas de .Net, je fais souvent une méthode ToString() dans mes classes pour récupérer toutes les infos.


    Mais bon, déjà quand le fichier frôle les 500 lignes, je me dis qu'il y a un problème de conception
    ρs¥

  13. #13
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 040
    Points
    2 040
    Par défaut
    • >64000 lignes de codes dans un seul fichier
    • Balancer un GOTO ou un STOP pour faire caler l'appli


    No comment
    Le titre du topic aurait pu être "Quels sont vos bidouilles pour faire tomber en marche votre trash-code ?"

    Personnellement, si un de mes dévs en arrive là, je l'abats pour éviter qu'il souffre
    Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
    Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.

  14. #14
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    Je fais tout simplement un fonction de log et je trace les infos dont j'ai besoin et qui me permettrait de trouver mon problème.
    Dans le cas de .Net, je fais souvent une méthode ToString() dans mes classes pour récupérer toutes les infos.
    beurk. Il faut utiliser des debug/trace et les activer/desactiver on-demand par fichier de config.


    Mais bon, déjà quand le fichier frôle les 500 lignes, je me dis qu'il y a un problème de conception
    500 lignes?! utilise des patterns genre MVVM et tu verras que rien qu'une classe modèle avec 20 propriétés fait déjà la moitié de ta "limite".
    De la meme façon, lorsque l'on créé une interface pour un service, qui gère par exemple un seul objet métier, ca sert à rien d'en faire plusieurs classes et encore moins de le découper en classe partielle si c'est pour passer plus de temps à chercher dans quel fichier se trouve ta méthode. Les gros fichiers ont parfois une raison d'être. Mais s'ils sont bien organisés, tu retrouves ce dont tu as besoin en deux secondes, qu'il fasse 10 ou 100000 lignes.
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  15. #15
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    La news parle d'EDI pas de POO.
    J'ai déjà vu des fichiers en C de qq milliers de lignes.

    Il y a certains algos qui sont difficilement troncables en plusieurs fonctions/fichiers, donc ça peut donner des fichiers de 6000 lignes. Ok, on est encore loin des 64000.

  16. #16
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Citation Envoyé par Reward Voir le message
    Hinault Romaric, le jour où vous verrez en .NET une classe comportant plus de 64 000 lignes de code (), ça vaudra le coups d'en faire une news, car ça ne sera pas demain la veille...
    Pour les utilisateurs de Visual Studio pour concevoir leur application C/C++ et les utilisateurs des solutions de génération de code, je dois dire que cela arrive. Bon j'ai poussé un peu le bouchon en généralisant aux développeurs .NET
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  17. #17
    Expert éminent
    Avatar de kdmbella
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 799
    Points : 7 039
    Points
    7 039
    Par défaut
    j'avoue que je savait pas que visual studio avait ce genre de limitation
    "L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent."
    - Benjamin Franklin

    De l'aide en Javascript , consultez la FAQ JS.

    De l'aide sur le FrameWork JS DHTMLX : posez vos questions sur le forum des Bibliothèques & Frameworks JS.

  18. #18
    Membre averti
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Points : 364
    Points
    364
    Par défaut
    Citation Envoyé par Louis-Guillaume Morand Voir le message
    500 lignes?! utilise des patterns genre MVVM et tu verras que rien qu'une classe modèle avec 20 propriétés fait déjà la moitié de ta "limite".
    Ouais, en effet, les 500 lignes c'est un peu juste. Je crois que j'ai été traumatisé par le code javascript qu'on m'a donné à reprendre récemment.
    ρs¥

  19. #19
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut
    Citation Envoyé par Uther Voir le message
    Ce genre de problème arrive malheureusement souvent quand on a recours a des systèmes des générateurs de code automatique qui s’embarrassent rarement de ce genre de concept

    Certes c'est moche, mais tu n'as malheureusement pas toujours la maitrise de tout ça. Souvent tu es obligé de faire avec ce qu'on te donne.
    Exact !
    "Heureusement qu'il y avait mon nez, sinon je l'aurais pris en pleine gueule" Walter Spanghero

  20. #20
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Ma problématique et différente, mais sur Android, il m'est souvent arrivé d'utiliser d'autre bidouilles en plus de LogCat (Fonction standard de l'api pour logguer des messages d'information avec plusieurs niveau)

    J'utilise soit des pop-up informative (Toast) ou carrément des petites pop-up demandant confirmation pour continuer, c'est tout bête mais parfois bien utile.
    Et en plus je peux y faire passer plein d'info
    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

Discussions similaires

  1. Quels sont vos défaults entretien pour developpeur?
    Par assine090 dans le forum Entretien
    Réponses: 14
    Dernier message: 28/11/2013, 09h10
  2. Réponses: 11
    Dernier message: 05/02/2013, 16h01
  3. Quels sont vos astuces et secrets de programmation favoris
    Par Idelways dans le forum Langages de programmation
    Réponses: 71
    Dernier message: 06/03/2012, 13h18
  4. Quels sont vos astuces et secrets de programmation favoris
    Par Idelways dans le forum Actualités
    Réponses: 61
    Dernier message: 12/12/2010, 07h54
  5. Réponses: 7
    Dernier message: 21/02/2005, 13h28

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