Szukaj…


Wprowadzenie

Utrzymanie kodu w czystości i uporządkowanie podczas tworzenia dużej aplikacji Rails może być sporym wyzwaniem, nawet dla doświadczonego programisty. Na szczęście istnieje cała kategoria klejnotów, które znacznie ułatwiają tę pracę.

Jeśli chcesz zachować swój kod, który będzie łatwy w utrzymaniu, bezpieczny i zoptymalizowany, spójrz na niektóre klejnoty optymalizacji i czyszczenia kodu:

Pocisk

Ten szczególnie zadziwił mnie. Klejnot pocisku pomaga zabijać wszystkie zapytania N + 1, a także niepotrzebnie chętnie ładowane relacje. Po zainstalowaniu i rozpoczęciu odwiedzania różnych tras w fazie rozwoju pojawią się pola ostrzeżeń z ostrzeżeniami wskazującymi zapytania do bazy danych, które należy zoptymalizować. Działa od razu po wyjęciu z pudełka i jest niezwykle pomocny w optymalizacji aplikacji.

Najlepsze praktyki w Railsach

Analizator kodów statycznych do wyszukiwania zapachów specyficznych dla Railsów. Oferuje wiele sugestii; korzystaj z dostępu do zakresu, ograniczaj automatycznie generowane trasy, dodawaj indeksy baz danych itp. Niemniej jednak zawiera wiele fajnych sugestii, które dadzą ci lepszą perspektywę, jak zmienić współczynnik kodu i poznać najlepsze praktyki.

Rubocop

Analizator kodu statycznego Ruby, którego można użyć do sprawdzenia, czy kod jest zgodny z wytycznymi kodu społeczności Ruby. Klejnot zgłasza naruszenia stylu za pośrednictwem wiersza poleceń, z wieloma przydatnymi cechami refaktoryzującymi kod, takimi jak bezużyteczne przypisywanie zmiennych, nadmiarowe użycie Object # to_s w interpolacji lub nawet nieużywany argument metody.

Dobrą rzeczą jest to, że jest wysoce konfigurowalny, ponieważ analizator może być dość irytujący, jeśli nie postępujesz zgodnie z przewodnikiem po stylu Ruby w 100% (tj. Masz dużo białych spacji lub podwołujesz ciągi znaków, nawet gdy nie interpolujesz itp.) .

Jest podzielony na 4 podanalizatory (zwane gliniarzami): Styl, Szarpie, Metryki i Szyny.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow