Cała oryginalna treść jest tworzona po ukraińsku. Nie wszystkie treści zostały jeszcze przetłumaczone. Niektóre posty mogą być dostępne tylko po ukraińsku.Dowiedz się więcej
Czym jest Konwencja nad Konfiguracją (w kontekście RoR i nie tylko)?
Konwencja zamiast konfiguracji (CoC) — to zasada, która polega na tym, że system lub framework ma już domyślne konfiguracje, pozwalając programiście uniknąć pisania / tworzenia ustawień samodzielnie. Znacząco skraca to liczbę decyzji, które należy podjąć, i zmniejsza czas potrzebny na konfigurację oraz rozwój w ogóle.
Po raz pierwszy podejście to zyskało popularność dzięki frameworkowi Ruby on Rails. U podstaw Rails leży idea, że większość programistów będzie wykonywać podobne zadania w podobny sposób. Dlatego Rails zapewnia typowe rozwiązania, takie jak struktura plików, nazwy modeli, kontrolerów i baz danych. Jeśli przestrzega się przyjętych konwencji, system automatycznie konfiguruje wiele aspektów aplikacji. Na przykład model o nazwie Article będzie automatycznie odpowiadał tabeli articles w bazie danych, bez potrzeby dodatkowej konfiguracji.
To uwalnia programistę od rutynowej konfiguracji. Wyjątkowe przypadki, w których potrzebna jest indywidualizacja, można łatwo dostosować osobno, jednak główną część zadań można wykonać szybciej, korzystając z wcześniej zdefiniowanych konwencji.
Eliminacja nadmiernej konfiguracji pozwala skupić się na logice aplikacji, a nie na ustawieniach. Przyspiesza to rozwój i zmniejsza liczbę błędów, ponieważ mniej konfiguracji oznacza mniej miejsc, w których może wystąpić błąd. Jednocześnie podejście to można spotkać również poza Rails. Wiele nowoczesnych frameworków i narzędzi stosuje podobne podejście — od bibliotek JavaScript po systemy zarządzania infrastrukturą.
CoC jest jednym z kluczowych podejść do uproszczenia procesu rozwoju, gdzie aplikacje, które odpowiadają ustalonym konwencjom, wymagają minimalnej konfiguracji, a programista zyskuje większą swobodę w tworzeniu funkcjonalności zamiast pracy z drobnymi ustawieniami.
Przykład CoC (RoR)
Przyjrzyjmy się przykładzie CoC nieco bliżej, aby zrozumieć, gdzie dokładnie oszczędzamy czas i zmniejszamy prawdopodobieństwo błędów przez dodany kod niestandardowy.
Programista tworzy model – na przykład model Article w Rails.
Ponieważ Konwencja zamiast konfiguracji zakłada korzystanie z konwencji, Rails automatycznie oczekuje, że tabela dla tego modelu będzie nazywać się articles (standardowa liczba mnoga dla angielskich rzeczowników).
Rails automatycznie łączy ten model z tabelą articles w bazie danych, bez potrzeby dodatkowych ustawień. Jeśli konwencja pasuje, dodatkowa konfiguracja nie jest potrzebna.
Takie podejście uwalnia od zbędnej konfiguracji, ponieważ system polega na typowych ustawieniach.
Prościej mówiąc - framework już ma ogólne konfiguracje, które nie muszą być wymyślane samodzielnie, wystarczy tylko przestrzegać konwencji, aby wszystko działało "prosto z pudełka".