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

C# Discussion :

Bonne pratique / Style d'écriture : Vos avis


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut Bonne pratique / Style d'écriture : Vos avis
    Bonjour,
    Je m'interroge sur les différences qu'il y a à écrire le même code de 3 manières différentes. Esthétique ? Optimisation ? Bonne pratique ?

    Donnez vos avis, sur la meilleur ...

    Merci

    Code 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                    foreach (Reservation reservation in order.Reservations)
                    {
                        if (isInFilter(reservation))
                        {
                            row = table.NewRow();
                            FillRow(Config, row, reservation);
                            table.Rows.Add(row);
                        }
                    }
    Code 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                    order.Reservations.ForEach(delegate(Reservation reservation)
                    {
                        if (isInFilter(reservation))
                        {
                            row = table.NewRow();
                            FillRow(Config, row, reservation);
                            table.Rows.Add(row);
                        }
                    });
    Code 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                    order.Reservations.ForEach(reservation =>
                    {
                        if (isInFilter(reservation))
                        {
                            row = table.NewRow();
                            FillRow(Config, row, reservation);
                            table.Rows.Add(row);
                        }
                    });

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    La première méthode est bien suffisante. L'utilisation d'une méthode anonyme (code 2) n'apporte strictement rien dans le cas présent. Et donc l'utilisation d'une expression lambda (code 3) non plus, car une expression lambda n'est qu'une manière simplifiée d'écrire une méthode anonyme.

    Je m'interroge sur les différences qu'il y a à écrire le même code de 3 manières différentes. Esthétique ? Optimisation ? Bonne pratique ?
    Dans l'exemple donné, les codes 2 et 3 relèvent plus du "t'as vu ! je sais utiliser des méthodes anonymes/expressions lambda !!" qu'autre chose. Avis perso.

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par StormimOn Voir le message
    Dans l'exemple donné, les codes 2 et 3 relèvent plus du "t'as vu ! je sais utiliser des méthodes anonymes/expressions lambda !!" qu'autre chose. Avis perso.
    +1

    Rien d'autre à ajouter.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut
    Merci pour vos réponses

    @StormimOn : Tu dis que dans le cas présent la méthode anonyme (code 2) n'apporte rien. Dans quel cas une méthode anonyme pourrait avoir un avantage par rapport au code 1 ?

  5. #5
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Ca aurait peut être un avantage si le code essaie à l'avenir de tenir compte de la parallélisation, en utilisant les Parallel Extension.
    La syntaxe est du style Parallel.For ou Parallel.ForEach, et ça nécessite donc une Action<T> en paramètre, qui peut du coup être un méthode anonyme.

  6. #6
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Ca aurait pu être un avantage également avec les prédicats (délégation Predicate<T>) en profitant de la capture des variables des méthodes anonymes.

Discussions similaires

  1. Quelques bonnes pratiques dans l'écriture de scripts en Bash
    Par ok.Idriss dans le forum Shell et commandes GNU
    Réponses: 22
    Dernier message: 05/09/2013, 14h11
  2. Quelques bonnes pratiques dans l'écriture de scripts en Bash
    Par ok.Idriss dans le forum Shell et commandes POSIX
    Réponses: 0
    Dernier message: 28/08/2013, 21h09

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