Co jest najczęstsze Ruby on Rails antipatterns i jak ich uniknąć?Antypatterns z Ruby on Rails
Odpowiedz
Istnieją dwa główne anti-patterns widziałem w partii kodu szyn:
dużo „podnoszenia ciężkich” w widokach. Wszystko, co jest bardziej skomplikowane niż zwykła iteracja nad kolekcjami lub interpolacja łańcuchów, powinno znajdować się w pomocnikach lub metodach modelowania. Nie wysyłaj zapytań o obiekty modelu, nie konstruuj dużych tablic JSON ani nie aktualizuj zmiennych sesji z szablonów ERB.
Obiekty modelu, których nie można wykorzystać do skryptowania lub implementacji interfejsu API. Twoje modele definiują semantykę domeny dla twojej aplikacji. Powinieneś być w stanie odpalić skrypt/konsolę lub napisać wrappery API usług, które wykorzystują istniejące, funkcjonalne metody modelowania do manipulowania wszystkimi kluczowymi danymi w twojej aplikacji. Funkcja kontrolera jest dostępna tylko w cyklu żądania/odpowiedzi HTTP, który jest tylko częścią cyklu życia w pełni funkcjonalnego serwisu.
Zupa alfabetyczna?
(Nie zadeklarowana zmienna typu i znaczenia nazw która prowadzi do kodu prawie un-czytelnej)
nazwa Wzór pochodzi z nazwami zmiennych jako 'a', 'b', 'c', 'd', etc.
Nie uczenie się Ruby.
Heh, nie mogę uwierzyć, że mam do tego upominek :-) –
To sprytna odpowiedź :) – lucapette
KORZYSTANIA Z innego chyba
antywzorzec projektowy:
unless is_the_weekend?
do stuff that you do during the week
else
do stuff that you do on weekends
end
Alternatywa:
if is_the_weekend?
do stuff that you do on weekends
else
do stuff that you do during the week
end
jest to jakoś RoR specyficzne? – SilentGhost
Nie najmniej. Jest to coś, co zauważyłem w Ruby dużo bardziej niż inne języki (i większość z tego, co widziałem dla Rubiego, to RoR). –
oczywiście nie ma zadeklarowanego typu, jest to dynamiczny język. a każdy, kto używa jednej litery jako zmiennej, jakkolwiek nie jest iteratorem w jakimkolwiek języku, potrzebuje czegoś twardego. –