Desidero scrivere codice che anche altri possono facilmente comprendere.Convenzioni di denominazione per attributi booleani
Gli attributi booleani come hide_email
o email_hidden
hanno uno stile convenzione?
Desidero scrivere codice che anche altri possono facilmente comprendere.Convenzioni di denominazione per attributi booleani
Gli attributi booleani come hide_email
o email_hidden
hanno uno stile convenzione?
I pensa in questo modo:
is <attribute_name>
is
perché Rubino preferisce il suffisso ?
per "è" i nomi dei metodi in stile (vedi sotto per maggiori informazioni), lasciando con solo email_hidden
Quindi, per il vostro caso specifico, il nome del tuo attributo in questo modo:
email_is_hidden
.is
e si è lasciato con email_hidden
?
) del vostro attributo booleano e restituisce true
/false
come previsto.Quindi, mentre il tuo attributo si chiama email_hidden
nel database, dovresti fare riferimento come email_hidden?
nel tuo codice per chiarezza e come lo è la convenzione Ruby on Rails.Sarebbe email_hidden?
. È ciò a cui la comunità di Ruby si era abituata.
Si prega di notare il ?
alla fine.
Suppongo che tu non intenda salvare l'attributo con un punto interrogativo? So che in Rails puoi chiamare tutti gli attributi con un punto interrogativo. –
Capisco cosa intendi. Pensavo avessi un attributo booleano che altri avrebbero voluto interrogare. No, non vuoi usare 'email_hidden' o' email_hidden? 'Come metodo setter. Dovresti usare un verbo come 'hide_email' per un metodo che lo nasconde e' email_hidden = 'per consentire ad altri di impostarlo per te. – Uzbekjon
Il modo in cui hai posto la domanda ... sembra che tu stia parlando di un metodo booleano per controllare lo stato di una email, non di un metodo per eseguire le procedure di occultamento e restituire true in caso di successo e false in caso di fallimento. –
Prendendo questi due esempi di nomi che ha dato:
hide_email
sarebbe un buon nome per un metodo di esecuzione di un tale compito, un metodo che esegue tutte le procedure per nascondere una e-mail nel campo di applicazione del sistema . Ma non sarebbe mai un buon nome per un metodo booleano che restituisce lo stato di un'e-mail.email_hidden?
, con un punto interrogativo (?) Alla fine, sarebbe il nome corretto per un metodo booleano che indica se l'e-mail è nascosta o meno.Considerare sempre le convenzioni Ruby se si vuole veramente scrivere un buon codice. Ti aiuteranno anche quando pensi ai processi nel tuo sistema.
I punti interrogativi non possono essere in variabili, solo i nomi dei metodi –
@maxpleaner Ben detto. L'ho modificato per inserire la parola "metodo" dopo booleano. –
I codici ruby hanno detto che tutti i metodi booleani dovrebbero finire?
Su record attivo si poteva vedere
User.valid?
O in Ruby si potrebbe trovare
[].nil?
[].empty?
Se vuoi sapere sulle convenzioni di Ruby leggere questo
http://blogs.visoftinc.com/2010/04/12/ruby-beauty-method-naming-conventions/
Nel rubino puoi anche vedere 'obj.is_a? (Qualcosa)' o 'hash.has_key? (: Foo)'. questo vuol dire che è accettabile usare 'is_XXX?' o 'has_XXX?' quando ci si riferisce a 'self' –
Il punto interrogativo è un buon sistema per i metodi booleani, ma non può essere utilizzato nei nomi di variabili. –