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

Algorithmes et structures de données Discussion :

Convertir 2000 lignes de code en un algo


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut Convertir 2000 lignes de code en un algo
    Bonjour tout le monde,
    j'ai un problème qui se résume ainsi :
    j'ai un programme qui fait plusieurs milliers de lignes de code et j'aimerais l'optimiser, donc je pense qu'il serait judicieux de représenter ce programme ou d'en déduire l'algo (je me trompe ?), mais par contre je ne sais pas comment m'y prendre (graphiquement parlant, par exemple représenter "If aListeLignesEcritureComptable <> NIL" je ne sais pas faire ... ).
    J'ai vraiment besoin de conseils.

    Merci.

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    en général il suffit de traduire en français les différentes lignes de codes.
    Mais dans ton cas, tu as un peu trop de lignes => dans un premier temps, il te faut écrire des lignes en pseudo code qui résument des blocs entiers (aucuns détails), par exemple : trier le tableau (tu ne mets pas le détail), faire une dichothomie, ...
    Lorsque tu auras tout ton programme écrit en pseudo code sur une cinquantaines de lignes, tu pourras réfléchir comment l'optimiser.
    Ensuite, tu préciseras certaines parties astuces de calculs, heuristiques, ...).
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut
    Merci c'est pas mal comme idée j'y avais pensé mais y'a pas mal de lignes de codes !! Je m'y mets on verra bien ce que ça me donnera !

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut
    Je vais vous mettre une partie du code que je dois "transformer" en algo pour l'optimiser ensuite ...
    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
    					for aLignePiece in aLigne.GetListeLignePieceJournee() do
    						aLignePieceTransfert = GCPT_PieceTransfertLigne(aWks.getObjectByOID(aLignePiece.getDetailPieceOID(),pClassName = GCPT_PieceTransfertLigneBase.CLID_GCPT_PIECETRANSFERTLIGNE, pMode= 3));
    						If unHT_ListeLignesParDetailPieceOID.Find(key = aLignePieceTransfert.getDetailPieceOID().TextValue.value) = NIL Then
    							unPieceALire	= new();
    							unVSDK_OID		= new();
    							unVSDK_OID . setOID(pOID = aLignePieceTransfert.getDetailPieceOID());
    							unPieceALire . setPieceOID(pPieceOID = unVSDK_OID);
    							unTabPieceALirePieceOID . appendrow(unPieceALire);
    								If unHT_PieceEmargementDetailHorsEmargement.Find(key = aLignePieceTransfert.getDetailPieceOID().TextValue.value ) = NIL Then
    									unHT_PieceEmargementDetailHorsEmargement.Enter(element = unPieceALire , key = aLignePieceTransfert.getDetailPieceOID().TextValue.value);
    								End if;
    							unHT_ListeLignesParDetailPieceOID.Enter(element=aLigne,key=aLignePieceTransfert.getDetailPieceOID().TextValue.value);
     
    						End If;
    						unHT_ListeLignesParDetailPieceOIDNonUnique.Enter(element=aLigne,key=aLignePieceTransfert.getDetailPieceOID().TextValue.value);
    					end for;

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    A ta place la première chose que je ferais serait d'assassiner le type qui m'a laissé ce code... (Si c'est toi c'est plus simple, tu t'as sous la main après tout)

    J'ai personnellement un problème avec une variable qui s'appelle unHT_ListeLignesParDetailPieceOIDNonUnique... et les lignes de 400 caractères n'aident pas à la lisibilité non plus.

    --
    Jedaï

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Jedai Voir le message
    J'ai personnellement un problème avec une variable qui s'appelle unHT_ListeLignesParDetailPieceOIDNonUnique... et les lignes de 400 caractères n'aident pas à la lisibilité non plus.


    et c'est malheureusement une certaine tendance d'un certain nombre de gens et de methodologies

  7. #7
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Peut être qu'avant d'essayer de transformer ce paquet de lignes de code en algo, tu pourrais tenter une double approche

    1/ D'abord décrire en français ce que fait le programme, ensuite décrire les particularités que doit prendre en compte le programme.

    2/ Une autre approche qui peut être faite simultanément est de regarder le code et de tenter de repèrer les lignes de code dupliquées, leur rôle et peut être d'en faire une fonction à part afin de fractionner le problème.

    Je n'ai pas ton code sous les yeux mais parfois certains programmes ne peuvent pas être réduits sous forme d'algo simples (pour le commun des mortels) car ils manipulent des concepts complexes. Je pense par exemple aux algo MD5 ou RSA qui demandent de solides connaissances mathématiques pour les comprendre. Le plus simple que l'on sache faire dans ce cas est de dire que l'on implémente le code de l'algo décrit dans le RFC xxx.

    Transformer "If aListeLignesEcritureComptable <> NIL" en français pourrais se dire en algo "Si le tableau des lignes d'écriture comptables est défini (ou non vide, je ne sais pas)"
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. [Smarty] Convertir 5 ligne de code php en smarty
    Par Akim13 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 27/11/2010, 10h24
  2. Convertir VBS -> VB.NET (2 lignes de code)
    Par arnofly dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 09/04/2009, 17h15
  3. Convertir le contenu d'une String en ligne de code
    Par DamS2502 dans le forum Langage
    Réponses: 5
    Dernier message: 29/04/2008, 07h40
  4. [netbeans][Linux] Nombre de lignes de codes
    Par sylvain_neus dans le forum NetBeans
    Réponses: 5
    Dernier message: 13/08/2004, 10h09
  5. Calculeur de ligne de code
    Par Bernybon dans le forum Autres éditeurs
    Réponses: 9
    Dernier message: 05/03/2004, 16h29

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