Ich möchte Code schreiben, den andere leicht verstehen können.Namenskonventionen für boolesche Attribute
Haben boolesche Attribute wie hide_email
oder email_hidden
einen Konventionsstil?
Ich möchte Code schreiben, den andere leicht verstehen können.Namenskonventionen für boolesche Attribute
Haben boolesche Attribute wie hide_email
oder email_hidden
einen Konventionsstil?
Ich finde Denken Sie daran:
is <attribute_name>
is
den Satz vervollständigen sollte, weil Ruby den ?
Suffix für „ist“ -Stil Methodennamen (siehe unten für weitere Informationen) vorzieht, verlassen Sie mit nur email_hidden
für Ihren speziellen Fall also, nennen Sie Ihre Attribute wie folgt aus:
email_is_hidden
.is
und Sie sind mit email_hidden
?
endet) Ihr Boolesche Attribut und gibt true
/false
wie erwartet.Während Ihr Attribut in der Datenbank email_hidden
genannt wird, sollten Sie es in Ihrem Code als email_hidden?
für Klarheit und wie die Ruby on Rails-Konvention verweisen.Das wäre email_hidden?
. Das ist es, woran sich die Ruby-Community gewöhnt hat.
Bitte beachten Sie die ?
am Ende.
Ich nehme an, Sie wollen das Attribut nicht mit einem Fragezeichen speichern? Ich weiß, dass Sie in Rails alle Attribute mit einem Fragezeichen aufrufen können. –
Ich sehe was du meinst. Ich dachte, du hättest ein boolesches Attribut, das andere abfragen möchten. Nein, Sie möchten "email_hidden" oder "email_hidden?" Nicht als Setter-Methode verwenden. Sie würden ein Verb wie "hide_email" für eine Methode verwenden, die es verbirgt, und "email_hidden =", damit andere es für Sie festlegen können. – Uzbekjon
Sie haben die Frage gestellt ... es scheint, dass Sie über eine boolesche Methode sprechen, um den Status einer E-Mail zu überprüfen, und nicht über eine Methode, um die Prozeduren zum Verbergen auszuführen und true im Erfolgsfall und false im Falle von Fehler. –
Wenn man diese beiden Beispiele von Namen gab Ihnen:
hide_email
ein guter Name für ein Verfahren wäre, eine solche Aufgabe ausführt, eine Methode, die alle Verfahren ausführt, eine E-Mail im Rahmen des Systems verstecken . Aber es wäre nie ein guter Name für eine boolesche Methode, die den Status einer E-Mail zurückgibt.email_hidden?
, mit einem Fragezeichen (?) Am Ende, wäre der korrekte Name für eine boolesche Methode, die angibt, ob die E-Mail ausgeblendet ist oder nicht.Denken Sie immer an Ruby-Konventionen, wenn Sie wirklich guten Code schreiben wollen. Sie werden Ihnen helfen, auch wenn Sie über die Prozesse in Ihrem System nachdenken.
Fragezeichen können nicht in Variablen sein, nur Methodennamen –
@maxpleaner Gut gesagt. Ich habe es bearbeitet, um das Wort "method" nach boolean einzufügen. –
Die Ruby-Code-Smeles sagten, dass alle booleschen Methoden mit?
Auf aktiven Datensatz konnte man
User.valid?
Oder in Ruby sehen konnte man
[].nil?
[].empty?
Wenn Sie wissen wollen, über Rubys Konventionen lesen Sie
http://blogs.visoftinc.com/2010/04/12/ruby-beauty-method-naming-conventions/
In Ruby können Sie auch 'obj.is_a? (Etwas)' oder 'hash.has_key? (: Foo)' sehen. das heißt, es ist akzeptabel, 'is_XXX?' oder 'has_XXX?' zu verwenden, wenn Sie sich auf 'self' beziehen –
Das Fragezeichen ist ein gutes System für boolesche Methoden, aber es kann nicht in Variablennamen verwendet werden. –