Comment utilisez-vous des lignes vides dans votre code?

31

Il y a eu quelques remarques sur les espaces blancs déjà en discussion sur les placements d'appareils orthopédiques.

J'ai moi-même tendance à saupoudrer mon code de lignes vides pour tenter de séparer les choses qui vont ensemble dans des groupes "logiques" et, espérons-le, faciliter la prochaine personne à lire le code que je viens de produire.

En fait, je dirais que je structure mon code comme j'écris: je fais des paragraphes, pas plus de quelques lignes (certainement plus courtes que 10), et j'essaye de rendre chaque paragraphe autonome.

Par exemple:

  • dans une classe, je regrouperai les méthodes qui vont ensemble, tout en les séparant par une ligne vierge du groupe suivant.
  • si j'ai besoin d'écrire un commentaire, je mettrai généralement une ligne vide avant le commentaire
  • dans une méthode, je fais un paragraphe par étape du processus

Dans l'ensemble, j'ai rarement plus de 4/5 lignes regroupées, ce qui signifie un code très clairsemé.

Je ne considère pas tout cet espace blanc comme un gaspillage parce que je l'utilise en fait pour structurer le code (car j'utilise l'indentation en fait), et donc je pense qu'il vaut la peine d'écran qu'il faut.

Par exemple:

for (int i = 0; i < 10; ++i)
{
    if (i % 3 == 0) continue;

    array[i] += 2;
}

Je considère que les deux déclarations ont des objectifs clairement distincts et méritent donc d'être séparées pour le rendre évident.

Alors, comment utilisez-vous (ou non) les lignes vides dans le code?

Matthieu M.
la source
6
if (i % 3 != 0) { <newline here> array[i] += 2; <newline here> }, mais je vois votre point :)
Merlyn Morgan-Graham
Ces types de questions ne sont pas constructifs . Il n'y a que tant de fois que vous pouvez reformuler les deux seules réponses disponibles «oui» et «non».
1
Une meilleure question aurait été de savoir comment et pourquoi utilisez-vous des lignes vides? J'utilise des lignes vides exactement de la même manière que vous, avec la même motivation.
Dominique McDonnell
1
@Mark, @takeshin: désolé, j'ai oublié le "comment" dans le mot-clé. Il est évident que nous les utilisons tous, j'essayais de voir comment il était utilisé par les gens là-bas (séparer les classes, si / sinon, etc ...) mais il semble que j'ai eu des réponses très génériques: p
Matthieu M.
3
for (int i = 0; i < 10; i += 3) { <newline here> array[i] += 2; <newline here> }mais je vois votre point :)
Berin Loritsch

Réponses:

87

Toujours

L'espace est crucial pour nettoyer le code lisible. Une ligne vierge (ou deux) permet de séparer visuellement les blocs logiques de code.

Par exemple, extrait du chapitre Code Complete, deuxième édition de Steve McConnell sur la mise en page et le style:

Les sujets ont obtenu un score de 20 à 30% plus élevé à un test de compréhension lorsque les programmes avaient un schéma d'indentation de deux à quatre espaces que lorsqu'ils n'avaient aucun programme d'indentation.La même étude a révélé qu'il était important de ne pas trop insister ni trop insister sur la structure logique d'un programme. Les scores de compréhension les plus bas ont été obtenus sur des programmes qui n'étaient pas du tout en retrait. Le deuxième plus bas a été atteint sur les programmes utilisant une indentation de six espaces. L'étude a conclu que l'indentation de deux à quatre espaces était optimale. Fait intéressant, de nombreux sujets de l'expérience ont estimé que l'indentation à six espaces était plus facile à utiliser que les indentations plus petites, même si leurs scores étaient inférieurs. C'est probablement parce que l'indentation de six espaces semble agréable. Mais quelle que soit sa beauté, l'indentation à six espaces s'avère moins lisible. Ceci est un exemple de collision entre l'attrait esthétique et la lisibilité.

Jeff Atwood
la source
12
J'entends quelqu'un dire "mais alors vous devriez extraire la méthode!". Un paragraphe est pour quand il n'y a pas assez de raison d'extraire la méthode.
Frank Shearar
1
Il est facile d'expérimenter et de voir s'il vaut mieux avoir un espace vertical ou non. Prenez un fichier source qui vous est inconnu, supprimez toutes les lignes vides, puis essayez de suivre la logique. Même avec une indentation appropriée, cela sera mentalement épuisant car les lignes blanches nous donnent une chance de voir les choses en morceaux de la taille d'une bouchée. Je dois conserver du code qui n'utilisait pas beaucoup d'espace vide vertical ou d'indentation, donc l'ajouter a été l'une de mes premières tâches pour l'auto-préservation.
The Tin Man
2
Je suis d'accord à 100%. L'espace est utile lorsqu'il est utilisé pour scinder délibérément du code en blocs logiques. Cependant, l'espace pour le bien de l'espace est tout aussi mauvais que pas d'espace. Un ancien collègue aimait mettre une ou plusieurs lignes vides après presque chaque ligne de code réel. J'ai passé un temps ridicule à «refactoriser» ce qui impliquait de frapper Backspace plusieurs milliers de fois pour supprimer les lignes vides inutiles.
Mike Spross
J'ai ajouté quelques données pour soutenir votre position. Voir: meta.programmers.stackexchange.com/questions/1109/…
Jeff Atwood
2
Ces données ne disent rien sur les lignes vides, seulement sur l'indentation ..
Blorgbeard
21

Oui pour plus de clarté.

Tout comme je l'ai fait dans cette réponse.

utilisateur2567
la source
13

Je le fais mais je m'assure de le documenter en mettant

(This line intentionally left blank.)

sur la ligne

Don
la source
1
Les lignes blanches avec des commentaires peuvent attirer l'attention du code
JulioC
1
C'est beaucoup de commentaires disant "Cette ligne intentionnellement laissée en blanc" ... Ne pouvez-vous pas supposer que si une ligne est vide, elle est intentionnelle ou bien elle n'aurait pas passé le code en revue?
alternative
43
C'est peut-être juste moi, mais j'ai supposé que le PO plaisantait ...
JSB ձոգչ
7
Depuis combien de temps travaillez-vous pour IBM?
Guillaume
12

Oui, mais je n'en abuse pas.

J'ai vu du code où chaque ligne de code à l'intérieur d'une méthode est séparée par une ligne vierge, et deux lignes vides sont utilisées là où une séparation logique se produit. Cela le rend encore moins lisible à mon avis. J'ai également vu des espaces blancs utilisés pour faire des alignements fous, comme celui-ci:

//Prot.   Return type                    Name                 Arg1        Arg2
//=====   ============================== ==================== =========== ========

private   int                            AMethodWithALongName(string s,   object o)
{
    ...
}

private   IDictionary<MyLongObject, int> SomethingCrazy      (string s)
{
    ...
}

protected void                           Foo                 (string str, object o)
{
    ...
}

La même utilisation abusive des espaces blancs horizontaux peut être appliquée aux espaces blancs verticaux. Comme tout outil, utilisez-le judicieusement.

Allon Guralnek
la source
1
On dirait quelque chose qui serait utilisé dans un cours collégial d'introduction pour piloter le fonctionnement de certains concepts. Cela a-t-il été réellement utilisé dans un environnement professionnel?
rjzii
1
@Rob: Il a été utilisé dans le code de production d'un grand système, mais sans en-tête de commentaire, et ayant des corps de méthode suffisamment grands pour que l'alignement me laisse perplexe, car je ne pouvais pas voir d'autres signatures de méthode dans ce fichier. Lorsque j'ai effondré le corps des méthodes, j'ai pu voir la "raison" de l'espace blanc.
Allon Guralnek
Cela peut fonctionner dans un en-tête ou un fichier d'interface
Ming-Tang
Donc, le gars qui a écrit ce schéma d'indentation, quand il a ajouté une nouvelle méthode à une classe, et que le type de retour de méthode était plus long que n'importe quel type de retour existant, il re-tabulait l'indentation des espaces pour toutes les autres méthodes du classe?
Mike Clark
@Mike, au lycée, nous avons utilisé un livre de programmation Java (je ne me souviens pas du titre) qui conseillait judicieusement de ne jamais utiliser d'espacement horizontal comme celui-ci, simplement parce qu'il finit par perdre beaucoup de temps lorsque vous devez faire de telles tabulations.
Matthew Flaschen
5

On me critique beaucoup pour avoir écrit mon code de cette façon. Je ne comprends pas pourquoi quelqu'un ne le ferait pas de cette façon.

La lisibilité est si importante lorsque vous revenez à un projet après une longue période de temps et j'ai entendu un dicton "Toujours écrire du code si le prochain gars qui le lit est un psychopathe qui connaît votre emplacement".

Bryan Harrington
la source
L'hypothèse que vous faites est que la décompression de votre code améliore la lisibilité, et je ne pense pas que ce soit toujours une donnée.
Jason Baker
Ce que Jason a dit. Lorsque je reviens dans une base de code, j'aime avoir autant de LOC par écran que possible afin de pouvoir le digérer rapidement. Si quelqu'un a mis une demi-page d'espace blanc (ou que Dieu interdise un de ces terribles commentaires de style xml), je serais très tenté de le reformater temporairement juste pour le lire, puis undoquelques fois pour faire le travail (le formatage des guerres ne ne conduisent pas à la productivité, donc je ne supprimerais pas carrément les commentaires et les espaces, mais ma préférence va contre eux pour la plupart).
Inaimathi
Un mur de texte est presque impossible à lire, sans parler de la psychologie humaine qui a tendance à lui résister. Je pense que prendre le temps de regrouper des instructions similaires, regrouper des lignes de code qui manipulent la même variable est également une bonne chose. Je suppose que tout est de préférence, mais je pense que tout ce qui est fait dans ce domaine ne devrait jamais être fait rapidement.
Bryan Harrington
5

Je n'écris pas toujours des logiciels, mais quand je le fais, j'utilise des lignes vides pour plus de clarté.

Trinidad
la source
4
J'écris aussi souvent du matériel, puis je l'imprime. C'est tellement moins cher.
Tim Post
5
Blague Dos Equis?
Paperjam
@Tim En fait, ce n'est pas si drôle: l'impression 3D ;) (Et… soyez gentil, nous ne sommes pas tous anglophones ici :).
takehin
1
@takeshin Je ne me moquais de personne et je faisais allusion à l'impression 3D. Bien que oui, le commentaire était en plaisanterie, je pense que vous pourriez mal interpréter l'intention :) De plus, le fait que @Paperjam a commenté juste sous une blague sur l'impression est .. eh bien .. inestimable :)
Tim Post
Moi, je n'écris pas de logiciel mais je le filaire.
mlvljr
5

Je suis tout pour rendre le code aussi clair que possible, et les espaces blancs sont souvent un outil utile dans cette entreprise. Mais n'oublions pas le refactoring:

  • dans une classe, je regrouperai les méthodes qui vont ensemble, tout en les séparant par une ligne vierge du groupe suivant.

Puisque vous avez plusieurs membres liés, ils sont candidats à une nouvelle classe.

  • si j'ai besoin d'écrire un commentaire, je mettrai généralement une ligne vide avant le commentaire

Chaque fois que le code n'est pas assez clair pour vouloir un commentaire, je demande si je peux refactoriser le code suffisamment clairement pour ne pas avoir besoin du commentaire.

  • dans une méthode, je fais un paragraphe par étape du processus

Pourquoi ne pas faire une méthode pour chaque "paragraphe"?

Si vous vous retrouvez avec un tas de méthodes dans votre classe, consultez ma note ci-dessus sur l'extraction d'une nouvelle classe.

Jay Bazuzi
la source
5

Oui. Il facilite l'analyse visuelle d'un fichier. Entre autres choses, il est plus clair avec quelle ligne un commentaire va.

Some code here
// Which line does this comment go with?
More code here

// It's pretty clear which line this comment goes with
More code here

Still more code here
Nathan Long
la source
4

J'utilise des lignes vides avec parcimonie et de manière cohérente, et est toujours plus important que avec parcimonie. Toutefois:

  • Si chaque ligne de code est séparée de la suivante par une ligne vierge, il y a trop de lignes vides.
  • S'il n'y a ni rime ni raison facilement discernable pour l'endroit où les lignes vides sont placées, alors elles sont une distraction et il y en a généralement trop.
  • Si une fonction est si grande qu'elle nécessite de nombreuses lignes vides, elle est trop grande.
  • Si un bloc de code a besoin de plus d'une ligne vierge avant ou après, il y a quelque chose de vraiment erroné.
  • Si vous avez plus de deux lignes vides entre les fonctions, vous avez probablement trop de lignes vides.

La plupart de cela n'est pas terriblement controversé; ce qui suit pourrait être. Je note que la notation K&R avec les accolades ouvertes à la fin de la ligne est souvent déprimante, suivie d'une ligne vierge. Personnellement, je n'aime pas les accolades à la fin de la ligne et le mélanger avec une ligne vierge après l'accolade fait un non-sens de la notation (IMNSHO). Mettez l'accolade ouverte sur la ligne suivante, seule, et vous avez une ligne principalement vide (et, IMNSHO, un code plus lisible). Si vous devez utiliser un croisillon K&R à la fin de la ligne, ne gaspillez pas l'espace vertical avec des lignes vierges superflues.

// I don't like this
if (something == anotherthing) {
    print ...
    update ...
}

// I much prefer this
if (something == anotherthing)
{
    print ...
    update ...
}

// I loathe this - not least for its inconsistent spacing
if (something == anotherthing) {

    print ...
    update ...
}

// I loathe this too, for its absurd waste of vertical space
if (something == anotherthing) {

    print ...
    update ...

}
Jonathan Leffler
la source
3

Écrivez ce qui est le plus lisible et le moins surprenant.

function validEmail($addr) {
    $regex = "/.../";   
    return preg_match($regex, $addr);
}

Cette fonction n'a pas besoin de 12 lignes de commentaires doc.

En fait, il n'a pas besoin de commentaires.

Ou des lignes vides.

Ils porteraient atteinte à son essence.

KevBurnsJr
la source
1
Un commentaire en haut décrivant quelles adresses sont acceptées serait bien. Une expression régulière peut-elle vraiment être utilisée pour valider une adresse e-mail?
kevin cline le
3

À l'intérieur de la fonction? Rarement

Si j'ai un bloc clairement différent, c'est une refactorisation vers une nouvelle fonction. Si peu de cas n'en valent pas la peine.

Pour moi, les lignes blanches à l'intérieur de la fonction sont l'une des "meilleures pratiques" les plus erronées.

Maniero
la source
2

Souvent

Utilisez-le pour les blocs logiques de code qui sont traités de manière similaire. Une fois que vous avez ajouté un commentaire pour montrer que vous effectuez une étape différente - il est temps d'extraire la méthode.

Bon espace blanc

{
    int x = computeX();
    x += ADJUSTMENT_FACTOR_X;

    int y = computeY();
    y += ADJUSTMENT_FACTORY_Y;

    setPosition(x, y);
}

Bad Whitespace

{
    //Open a connection
    String serverAddress = lookupAddress();
    Connection connection = openConnection(serverAddress);
    connection.login(user, password);


    //Go get stuff from the server
    item1 = connection.get(1);
    item2 = connection.get(2);

    //Close connection
    connection.close();

    //log data
    log(item1);
    log(item2);

    //Update client
    gui.updateView(item1, item2);        
}    

contre

{
    Connection connection = openConnection();
    updateData(connection);
    closeConnection(connection);
    logUpdate();
    updateGui();
}

contre

{
     updateDataFromServer();
     logUpdate();
     updateGui();
}
Steve Jackson
la source
4
Je suppose que votre exemple Bad Whitespace est une version abrégée de ce qui devrait être considéré comme mauvais. À sa longueur actuelle, il semble inutile de le diviser.
Allon Guralnek
1
je ne vois pas pourquoi le mal est mauvais ni pourquoi vous avez écrit VS
5
Aucun de ces commentaires sont nécessaires de toute façon, et pourquoi dans le monde serait un extrait connection.close()àcloseConnection(connection)
autre
Un bloc de code avec un commentaire est meilleur qu'une méthode extraite, tant que les blocs sont courts et peu nombreux. L'extraction des méthodes n'est pas gratuite; il a un coût de localité de code.
Craig Gidney
Et vous venez de faire item1et les item2variables globales que les méthodes communiquent par? Ick!
TMN
2

Non seulement j'utilise des espaces, j'utilise des accolades pour plus de clarté.

Les accolades que j'utilise pour dire qu'elles peuvent potentiellement être des fonctions.

code
{
    code
    code
    code
    code
}
{
    code
    code=code
    code
    code

    code()
    code()
}
user2528
la source
2

À un moment donné, je saupoudrais généreusement de lignes vides tout au long de mon code. De nos jours, j'ai tendance à être plus économe. Je pense que cela fait partie de ce dont parlait Steve Yegge ici :

J'espère que la scène que j'ai peinte jusqu'à présent vous aide à comprendre pourquoi parfois vous regardez du code et vous le détestez immédiatement. Si vous êtes un n00b, vous regarderez du code expérimenté et direz que c'est de la merde impénétrable et indisciplinée écrite par quelqu'un qui n'a jamais appris l'essentiel de l'ingénierie logicielle moderne. Si vous êtes un vétéran, vous regarderez le code n00b et direz qu'il s'agit de peluches ornementales sur-commentées qu'un stagiaire aurait pu écrire en une seule nuit de forte consommation d'alcool.

Le point d'adhérence est la tolérance à la compression. Au fur et à mesure que vous écrivez du code tout au long de votre carrière, en particulier s'il s'agit de code couvrant des langues et des domaines problématiques très différents, votre tolérance à la compression de code augmente. Ce n'est pas différent de la progression de la lecture de livres pour enfants avec du texte géant à des romans de plus en plus complexes avec du texte plus petit et des mots plus gros.

...

Un programmeur avec une tolérance élevée à la compression est en fait gêné par une série de contes. Pourquoi? Parce que pour comprendre une base de code, vous devez être capable d'en emballer autant que possible dans votre tête. Si c'est un algorithme compliqué, un programmeur chevronné veut voir le tout à l'écran, ce qui signifie réduire le nombre de lignes vides et de commentaires en ligne - en particulier les commentaires qui réitèrent simplement ce que fait le code. C'est exactement le contraire de ce que veut un programmeur n00b. Les n00bs veulent se concentrer sur une déclaration ou une expression à la fois, en déplaçant tout le code autour de lui afin qu'ils puissent se concentrer, et crier à haute voix.

Je suis fondamentalement d'accord avec lui. Il est préférable de compresser le code afin d'en obtenir autant que possible sur un seul écran plutôt que de trop l'espacer. Cela ne veut pas dire que vous ne devez jamais utiliser de lignes vides. C'est juste que je pense que si le regroupement que vous essayez de créer n'augmente pas énormément la lisibilité, il fait plus de mal que de bien.

Jason Baker
la source
2

Un professeur émérite a donné deux excellents conseils

  1. L'espace est gratuit
  2. N'utilisez pas les agrafes qui remontent par le devant du papier, sinon je vous ferai défaut.
Wonko the Sane
la source
1

Mes règles de base sont les suivantes:

  1. Si j'ai du mal à lire le code que j'ai écrit hier, j'ai probablement besoin d'extraire une méthode ou trois.

  2. Si ma définition de classe est trop longue pour être lue facilement, j'ai probablement besoin d'extraire un module / interface / objet.

  3. Définitions de méthodes: ajouter une ligne

  4. Définitions de module / classe: ajoutez deux lignes

philosodad
la source
1

J'aime penser aux espaces blancs de la même manière que les paragraphes. Vous regroupez des lignes qui contribuent à une idée.

Si vous commencez une nouvelle idée ou une nouvelle facette de la même idée, vous commencez un nouveau paragraphe - comme celui-ci.

Dans le code impératif, je regroupe les tâches qui effectuent une tâche cohérente; en code déclaratif, je regroupe le code qui décrit une déclaration cohérente d'une idée.

Vous n'avez clairement aucun problème à le faire en anglais (certaines personnes sont horribles avec le paragraphe), donc avec un peu de pratique, appliquer la même compétence au code ne devrait pas être du tout extensible.

Rei Miyasaka
la source
1

Les lignes vides sont un must à mon avis. Je les utilise pour séparer différents blocs logiques de code. Rend le code lisible. Le code lisible est un bon code;)

Mon morceau de code idéal serait que chaque bloc logique soit séparé par une ligne vierge et un commentaire au-dessus de chaque bloc qui a une logique principale.

Bien sûr, si les gens le font en ajoutant plusieurs lignes vides partout, je trouve cela très irritant :(

Karun AB
la source
1

J'utilise uniquement des espaces dans une fonction / méthode pour séparer les déclarations et le code.

Si vous ressentez le besoin d'avoir des lignes pour séparer les sous-blocs de code implémentant une logique, alors elles devraient l'être mais dans une autre fonction / méthode privée. C'est à votre compilateur de ne pas faire trop de surcharge.

typiquement, en peusdo-code:

def function(arg1, argn, ...)
    INITIALIZERS

    CODE
    BLOCK_START
        INITIALIZERS

        CODE
    BLOCK_END
    CODE
end

Si je vois des espaces inutiles, je grimpe habituellement.

haylem
la source
Cela ressemble à C-ish, ma norme de codage C ++ recommande de ne PAS déclarer un objet sans l'initialiser, ce qui empêche cette utilisation: /
Matthieu M.
@Matthieu M: OK, puis remplacez DECLARATIONS par INITIALIZERS. Mais je ne veux jamais voir des INITIALISATEURS au milieu d'un bloc. Si c'est nécessaire, c'est quelque chose qui nécessite une portée plus petite, donc il a besoin d'une méthode / fonction privée.
haylem
0

L'espace blanc est extrêmement précieux.

Voici l'affaire ... les nerds qui écrivent du code compliqué comme E = MC 2 sont excellents pour montrer leurs compétences en programmation.

Maintenant, allons de l'avant six mois, et il est 2 h du matin et le système qui n'a pas été examiné depuis six mois est tombé en panne sur la ligne E = MC 2 . C'est presque impossible à déboguer ... tout le monde panique.

Supposons que le code ressemble plus à ceci ...

See Dick
See Jane
See Dick and Jan

S'il est 2h00 et que le code est cassé. Un rapide coup d'œil vous montrera que la ligne 3 aurait dû être

See Dick and Jane

Problème résolu.

Conclusion ... utilisez des espaces.

Cape Cod Gunny
la source
1
Euh ... aucun de ces exemples ne soutient vraiment votre argument. Personnellement, je pense que E = MC2 est plus lisible que E = MC 2 (l'essentiel était d'utiliser des espaces, non?). Oh, et à moins que vous ne soyez encore au lycée, je suis sûr que vous pouvez trouver une meilleure façon de faire référence à des personnes avec lesquelles vous n'êtes pas d'accord que les "nerds".
Jason Baker
@Jason - Bon point, mauvais choix de mots. E = MC2 est beaucoup plus lisible, ce n'était pas le point que j'essayais de faire passer. C'est plus comme si vous en parliez sur votre site Web YAGNI et SYNDI. jasonmbaker.com/tag/programming
Michael Riley - AKA Gunny
0

Comme beaucoup d'autres l'ont indiqué, les lignes vides facilitent la lecture du code. Cependant, certaines langues appliquent cette norme. Un que je peux penser du haut de ma tête (pas tellement sur les lignes vides mais l'indentation appropriée) est Python.

Skudd
la source
0

Je suis d'accord, j'utilise les espaces blancs de la même manière. Cependant, si je me retrouve à utiliser des espaces pour diviser une méthode en trop de parties, c'est un signe que je pourrais avoir besoin de refactoriser ce code en plusieurs méthodes. Trop de sections logiques dans une méthode peuvent signaler que la méthode sera plus difficile à tester.

user7187
la source
0

Je les utilise pour séparer le code en unités logiques. J'ai vu très peu d'exemples de code qui n'utilisaient pas de lignes vierges, bien sûr l'obfuscation est exceptée.

kirk.burleson
la source
0

La réponse du psychopathe est la meilleure, mais je remplacerais cela en supposant que la prochaine personne est un idiot, et qu'elle supposera que vous l'êtes, et vous voudrez lui prouver le contraire.

L'utilisation de commentaires est tout aussi importante pour la lisibilité. J'ouvre chaque fonction ou sous-programme avec un bloc de commentaires, expliquant en texte clair, ce qu'il est, ce qu'il fait, quels sont les arguments et quels sont les résultats attendus (y compris une liste de conditions d'erreur). Ensuite, il n'est pas question de ce qu'il est prévu et / ou conçu pour faire. Ce qu'elle peut faire peut varier, mais c'est plus loin sur la voie.

Je pense que beaucoup trop de codeurs supposent que ce seront eux, eux-mêmes, qui feront des "réparations" sur le code, ou ne s'en soucient tout simplement pas.

Peter
la source
0

Les lignes vides sont importantes. Cependant, le fait de gaspiller une ligne vierge entière sur l'accolade ouvrante réduit la quantité de code que vous pouvez voir dans un écran. Devrait être:

for (int i; i < 10; ++i)
{  if (i % 3 == 0) continue;

   array[i] += 2;
}

(Ne me faites pas commencer à mettre l'accolade '{' sur la même ligne que le 'pour' ... c'est meshuggah).

user7195
la source
2
OUI. Je veux voir toute votre fonction sur un seul écran. Ne placez pas l'accolade ouvrante sur sa propre ligne. C'est à cela que sert l'indentation.
KevBurnsJr
L'intérêt d'une accolade sur sa propre ligne est de définir clairement des blocs de code. L'ajout d'une ligne de code après l'accolade ruine la seule raison pour laquelle cette religion est respectée! Vous pouvez aussi bien le mettre sur la même ligne que le «pour».
Gary Willoughby
0

Oui. Pour plus de lisibilité. Parfois, je mets même des lignes vides dans du code que je n'ai pas écrit. Je trouve plus facile de comprendre le code lorsqu'ils ont un regroupement logique via des lignes vides - comme vous pouvez le "lire rapidement" à travers.

javacruiser
la source
0

Nous devons utiliser des lignes vides entre les blocs de code comme nous le faisons lorsque nous écrivons une lettre.

Par exemple, entre les fonctions, ou à l'intérieur d'une fonction lorsque nous terminons une boucle ...

Les gens vous remercieront d'un code propre s'ils doivent en faire la maintenance;)

user7242
la source
0

Nous utilisons l'espace blanc recommandé par Microsoft StyleCop. En plus de la lisibilité et de la cohérence, j'ai trouvé que (avec des classes de petite taille) un code correctement disposé facilite beaucoup la gestion des fusions lorsque différentes personnes dans une équipe travaillent sur les mêmes domaines.

Je ne sais pas si c'est juste mon imagination, mais les différents outils semblent faire un meilleur travail pour reconnaître où le code équivalent commence et se termine lors de la fusion quand il est bien organisé. Un code bien présenté est une joie de fusionner. D'accord, c'était un mensonge - mais au moins la douleur est maintenue à des niveaux gérables.

FinnNk
la source
0

Jamais une ligne vierge, pas dans tout le fichier. Cela ne veut pas dire qu'il n'y a pas de rupture dans le code:

 code;
 //
 morecode;

Les lignes vides servent à ouvrir des sections du code, vous avez quelques raccourcis clavier dans votre éditeur pour vous amener à la ligne vide précédente / suivante.

marque
la source