Ruby Leerzeichen: Ist {: a = 1} besser als {: a = 1}? [geschlossen]

8

Wenn man sich den Code anderer Leute anschaut, scheint es wirklich üblich, einen zusätzlichen Platz in geschweiften Klammerblöcken einzubauen. Gibt es einen Grund dafür? Für mich scheint es, zusätzliche Tastenanschläge für zusätzliche Hässlichkeit hinzuzufügen. Vor allem, wenn Dinge verschachtelt werden:

%Vor%

Aus irgendeinem Grund sieht es nur prägnanter und kohärenter aus:

%Vor%

Vielleicht sind die zusätzlichen Leerzeichen ein Nebeneffekt des Texteditors oder gibt es einen historischen Grund oder etwas? Ich habe nicht gesehen, dass dies in Style-Guides angesprochen wurde und wenn es wie 2-Space-Indentation ist, möchte ich Conventions folgen, aber wenn es keinen guten Grund gibt, denke ich, dass ich einfach die Dinge auf meine eigene Art machen werde. Welche bevorzugen Sie und warum?

    
eremite 10.02.2010, 17:20
quelle

9 Antworten

6

Der meiste Ruby-Code, den ich sehe (und hoffentlich der ganze Code, den ich schreibe), verwendet diesen Stil:

%Vor%

Daran habe ich mich gewöhnt und verinnerlicht.

Wenn alles gesagt und getan ist, ist dieses eine bestimmte Stil Problem nicht von größter Bedeutung. Allerdings glaubt die Ruby-Community (wie auch andere), dass es wichtig ist, dass Sie Ihren Stil (a) mit dem Projekt, mit dem Sie arbeiten, und (b) mit der Community des Codes als Ganzes abgleichen. Deshalb empfehle ich, die zusätzlichen Leerzeichen zu verwenden.

Übrigens, das ist ein guter Ruby Style Guide: Ссылка

    
David J. 10.02.2010, 17:58
quelle
3

Sie können eine Kombination verwenden. An einer Stelle, an der ich gearbeitet habe, hatten wir eine etwas unscharfe Stilregel, die besagt, dass "Leerzeichen innerhalb von Klammern verwendet werden sollen, außer wenn sie die äußeren Klammern einer Struktur sind". Das klingt verwirrend, hilft aber oft dabei, zu etwas zu gelangen, das einen intuitiven visuellen Sinn ergibt.

%Vor%

Ich mag es, wie dieser Abstand den inneren Hash (Rückgabewert) auslöst, ohne dass er sich zu stark anfühlt, und das nachgestellte }} hilft Ihnen dabei, zu sehen, dass es von zwei Verschachtelungsebenen umgeben ist.

    
Alison R. 10.02.2010 18:13
quelle
3

Scheint nur eine Frage des Stils zu sein. Ich denke, sie sind hässlich, lassen Sie die zusätzlichen Leerzeichen weg.

Bearbeiten: Ich stimme dem unten stehenden Kommentar zu, dass es nur eine Frage des Stils ist und keine Lizenz gibt, das zu tun, was immer Sie wollen. Wenn noch jemand den Code lesen oder pflegen muss, dann ist das Befolgen eines gemeinsamen Stils nur eine gute Programmierpraxis. Ich wäre also die erste Person, die Leerzeichen einfügen würde, wenn jemand mich davon überzeugt hätte, dass der meiste Ruby-Code Leerzeichen auf diese Weise verwendet. Persönlich denke ich immer noch, dass es hässlich ist, aber das ist weit weniger wichtig, als andere meinen Code lesen zu können.

    
Kevin Gale 10.02.2010 17:30
quelle
1

Das Beispiel, das Sie zeigen, ist eine Frage des Stils. Ich denke, du nimmst die Lücken heraus, wenn du alles auf eine Zeile schreiben willst. Wenn Sie jedoch

setzen %Vor%

In Ihrem Code gibt Ruby eine Warnung

  

Warnung: Stellen Sie vorher keinen Platz ein   Argumentklammern

Also, ich denke Ruby ist begeistert von den Klammern, aber nicht von den Klammern.

    
dbrown0708 10.02.2010 18:00
quelle
0

Ich bin kein Ruby-Programmierer, aber ich tendiere dazu, zusätzlichen Platz nach Klammern / Klammern zu geben, wenn ich etwas länger zwischen ihnen habe - d. h. längere if-Anweisung oder zusätzliche Berechnung als Argument für eine Funktion.

Also würde ich sagen - obwohl ich kein Ruby-Programmierer bin - tun, wie Sie es wünschen / als Ihr Arbeitgeber (wenn Sie kein Freiberufler / Bastler sind) wünschen.

    
Adam Kiss 10.02.2010 17:27
quelle
0

Bis zu einem gewissen Punkt denke ich, es ist eine Frage des persönlichen Geschmacks. Normalerweise hilft mir das Hinzufügen von Leerzeichen die Lesbarkeit - aber nicht immer. In Ihrem Beispiel würde ich persönlich:

%Vor%

Wenn Sie Probleme beim Lesen haben, haben Sie fast immer die Möglichkeit, kein Lambda zu verwenden.

Wenn Sie mit einer Gruppe anderer Personen arbeiten - oder zu dem Zweck, Ihren Code der Ruby-Community zu zeigen -, müssen Sie auch überlegen, was sie als lesbar empfinden.

Aber ich bin mir nicht sicher, ob mir das so wichtig ist, ob mein Beispiel oben "normaler Rubinabstand" ist.

    
Shadowfirebird 10.02.2010 20:25
quelle
0

Der zusätzliche Platz am Anfang / Ende der Hashes wurde wahrscheinlich gemacht guter Stil, um die Lesbarkeit bei Schlüssel / Werten zu verbessern, die mit allem außer einem Buchstaben beginnen / enden.

%Vor%

Es wird teilweise den geschweiften Klammern zugeschrieben, ich sehe selten Leerzeichen am Anfang der Hashes in Ruby ([]).
Die neue Hash-Syntax, die in Ruby 1.9 eingeführt wurde, soll dies wahrscheinlich modifizieren

%Vor%     
Mereghost 12.02.2010 14:26
quelle
0

Ich habe immer gedacht, dass es am besten lesbar ist, den zusätzlichen Platz in geschweifte Klammerblöcke einzufügen, aber das letzte Leerzeichen wegzulassen, wenn das vorhergehende Zeichen eine schließende geschweifte Klammer ist. Um Ihr Beispiel zu verwenden:

%Vor%     
Vincent 12.02.2010 15:06
quelle
0

IMHO, in den meisten Fällen verhalten sich Räume wie syntaktisches Rauschen und sind nervig zu tippen ... Ich finde es überraschend, dass die Ruby-Gemeinschaft die neueste Besessenheit mit ihnen teilt, mit den wenigen, die sich darum kümmern, dass sie sie als Norm aufzwingen nach 10 Jahren ohne solche Norm ....

    
Pedro Morte Rolo 21.09.2014 14:19
quelle

Tags und Links