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 :

Best code indentation


Sujet :

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

  1. #1
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut Best code indentation
    Bonjour,

    J'aimerai savoir qu'elle indentation vous préférez pour votre code. Si possible je veux bien savoir pourquoi. Et si aucune de mes propositions ne vous convient je veux bien un exemple de ce que vous utilisez dans ces cas

    1. Var declaration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var myVar1 = "v1";
    var mySecondVar = randomFunction("v2");
    var aVarWithLongName = "v3";
    var myVar 4 = true;
    
    or
    
    var myVar1             = "v1";
    var mySecondVar        = randomFunction("v2");
    var aVarWithLongName   = "v3";
    var myVar 4            = true;
    2. Function parameters

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    myFunction1("p1", randomFunction("value1"), true);
    myFunction1("parameter2", "value1", false);
    myFunction1("param3", randomFunction("value3"), true);
    
    or
    
    myFunction("p1",         randomFunction("value1"), true);
    myFunction("parameter2", "value1",                 false);
    myFunction("param3",     randomFunction("value3"), true);
    3. IfElse

    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
    if(myFunction("value1"){
        value = "value1";
    }else{
        value = "";
    }
    
    or
    
    if(myFunction("value1"){ value = "value1";}
    else{ value = ""; }
    
    or
    
    if(myFunction("value1")
    {
        value = "value1";
    }
    else
    {
        value = "";
    }
    4. Function declaration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public void myFunction (String myString, Boolean myBool){
        ...
    }
    
    or
    
    public void myFunction (String myString, Boolean myBool)
    {
        ...
    }
    5. Generic object

    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
    myVar = {
        "property1" : "random string",
        "p2" : true
    };
    
    or
    
    myVar = {
        "property1" : "random string",
        "p2"        : true
    };
    
    or
    
    myVar = { "property1" : "random string",
              "p2" : true };
    Merci pour vos avis

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 287
    Points : 12 998
    Points
    12 998
    Par défaut
    Bonjour,
    Pour ma part:
    Déclaration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var myVar1 = "v1";
    var mySecondVar = randomFunction("v2");
    var aVarWithLongName  = "v3";
    var myVar 4 = true;
    J'aimerai bien aligner les valeurs, mais IntelliSens de Visual Studio ne me laisse pas faire. A chaque mise ne page, tout est "collé" (mais avec des espaces quand même !).


    Paramètres de fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    myFunction1("p1", randomFunction("value1"), true);
    myFunction1("parameter2", "value1", false);
    myFunction1("param3", randomFunction("value3"), true);
    If et compagnie:
    Aucune des proposition.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(myFunction("value1")
    {
        value = "value1";
    }
    else
    {
        value = "";
    }
    J'aime bien avoir l'accolade ouvrante sur une nouvelle ligne.

    Déclaration de fonction:
    En gros la même mise en page que pour les blocs IF ELSE.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void myFunction (String myString, Boolean myBool)
    {
        ...
    }
    Objet générique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    myVar = 
    {
        "property1" : "random string",
        "p2" : true
    };
    Comme pour la déclaration de variable, j'aimerai bien aligner les valeurs, mais Visual Studio n'est pas d'accord.

    Tatayo.

  3. #3
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    Merci pour ta réponse !

    Pour le ifElse c'était ma troisième proposition mais on la vois pas bien sans scroller

    Pas contre je suis surpris car de mon côté je n'ai jamais de souci sur Visual Studio. Par contre je ne génère pas l'indentation automatiquement sinon en effet dans certains cas ça me supprime les tabulations en milieu de ligne.

    D'autres volontaires pour répondre ?

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    1. Var declaration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var myVar1             = "v1";
    var mySecondVar        = randomFunction("v2");
    var aVarWithLongName   = "v3";
    var myVar 4            = true;
    Dans la mesure du possible, je n'initialise pas mes variables à la déclaration, ça permet de vérifier qu'on les assigne dans le code -- mais parfois on veut une valeur par défaut. Dans ce cas, j'essaye de les aligner.

    2. Function parameters

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    myFunction1("p1", randomFunction("value1"), true);
    myFunction1("parameter2", "value1", false);
    myFunction1("param3", randomFunction("value3"), true);
    Un appel de fonction, c'est au milieu du code, je trouve ça plus logique de passer les paramètres sans alignement particulier.

    3. IfElse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(myFunction("value1")
    {
        value = "value1";
    }
    else
    {
        value = "";
    }
    Je trouve ça plus lisible comme ça, mais c'est vrai que pour juste une courte ligne c'est parfois un peu overkill.
    En cas d'utilisation de l'opérateur ternaire, je mets tout sur une ligne.

    4. Function declaration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void myFunction (String myString, Boolean myBool)
    {
        ...
    }
    5. Generic object

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    myVar = {
        "property1" : "random string",
        "p2" : true
    };
    Ce qui est le plus important :
    - se mettre d'accord au sein de l'équipe
    - avoir une unité dans le code
    - régler correctement tous les éditeurs

  5. #5
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    Merci pour ce retour.

    Un appel de fonction, c'est au milieu du code, je trouve ça plus logique de passer les paramètres sans alignement particulier.
    Est-ce que le fait que ce soit au milieu du code à une importance ? La lisibilité du code ne passe-t'elle pas avant ?

    Dans tous les cas je suis d'accord avec toi, l'important c'est d'être iso au sein de l'équipe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] excel vba code indenter
    Par FrancisZheng dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/01/2016, 14h56
  2. [JDevelopper] Comment indenter automatiquement le code ??
    Par Bicnic dans le forum JDeveloper
    Réponses: 5
    Dernier message: 03/08/2004, 22h11
  3. Indenter une partie du code
    Par KooX dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 23/05/2004, 18h38
  4. [mise en page] pour bien indenter son code
    Par bihorece dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/08/2003, 17h14

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