Chcę napisać kod, który inni mogą łatwo zrozumieć.Konwencje nazewnictwa dla atrybutów boolowskich
Czy atrybuty boolowskie, takie jak hide_email
lub email_hidden
, mają styl konwencji?
Chcę napisać kod, który inni mogą łatwo zrozumieć.Konwencje nazewnictwa dla atrybutów boolowskich
Czy atrybuty boolowskie, takie jak hide_email
lub email_hidden
, mają styl konwencji?
I pomyśl o tym tak:
is <attribute_name>
is
ponieważ Ruby preferuje ?
przyrostkiem „jest” nazwy metod -Style (patrz poniżej więcej), zostawiając tylko email_hidden
Więc dla konkretnego przypadku, wymienić swój atrybut tak:
email_is_hidden
.is
i jesteś w lewo z email_hidden
?
) swojego atrybutu logicznego i zwraca true
/false
jak oczekiwano.Tak więc, podczas gdy twój atrybut ma nazwę email_hidden
w bazie danych, powinieneś go w swoim kodzie podać jako email_hidden?
dla jasności i zgodnie z konwencją Ruby on Rails.To będzie email_hidden?
. Właśnie do tego przyzwyczaiła się społeczność Ruby.
Uwaga: na końcu znajduje się ?
.
Zakładam, że nie chcesz zapisywać atrybutu ze znakiem zapytania? Wiem, że w Railsach możesz wywoływać wszystkie atrybuty ze znakiem zapytania. –
Widzę, o co ci chodzi. Myślałem, że masz atrybut boolowski, który inni chcieliby zapytać. Nie, nie chcesz używać 'email_hidden' lub' email_hidden? 'Jako metody ustawiającej. Chciałbyś użyć czasownika takiego jak "hide_email" dla metody, która go ukrywa, i 'email_hidden =', aby pozwolić innym ustawić go dla Ciebie. – Uzbekjon
Sposób, w jaki zadałeś to pytanie ... wygląda na to, że mówisz o boolowskiej metodzie sprawdzania stanu wiadomości e-mail, a nie o metodzie wykonywania procedur jej ukrywania i zwracania wartości true w przypadku sukcesu i fałszu w przypadku niepowodzenie. –
Biorąc te dwa przykłady nazw daliście:
hide_email
byłoby dobre imię dla sposobu wykonywania takiego zadania, to metoda, która realizuje wszystkie procedury, aby ukryć wiadomość e-mail w zakresie systemu . Ale nigdy nie byłoby to dobre imię dla metody boolowskiej zwracającej stan wiadomości e-mail.email_hidden?
, ze znakiem zapytania (?) Na końcu, byłaby poprawna nazwa metody boolowskiej wskazującej, czy wiadomość e-mail jest ukryta, czy nie.Zawsze należy wziąć pod uwagę konwencje Rubiego, jeśli naprawdę chcesz napisać dobry kod. Pomogą ci nawet myśleć o procesach w twoim systemie.
Znaki zapytania nie mogą być w zmiennych, tylko nazwy metod –
@maxpleaner Dobrze powiedziane. Edytowałem go, aby wstawić słowo "method" po boolean. –
Smeels z kodem ruby powiedział, że wszystkie metody boolowskie powinny kończyć się?
na aktywnych rekordu widać
User.valid?
Albo w Ruby można znaleźć
[].nil?
[].empty?
Jeśli chcesz wiedzieć o konwencje Ruby za przeczytanie tego
http://blogs.visoftinc.com/2010/04/12/ruby-beauty-method-naming-conventions/
W rubinach możesz również zobaczyć: 'obj.is_a? (Something)' lub 'hash.has_key? (: Foo)'. to znaczy, że dopuszczalne jest używanie 'is_XXX?' lub 'has_XXX?', gdy mówisz o 'self' –
Znak zapytania jest dobrym systemem dla metod logicznych, ale nie można go używać w nazwach zmiennych. –