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)?

Okładka posta: Czym jest Konwencja nad Konfiguracją (w kontekście RoR i nie tylko)?
Spis treściKliknij link, aby przejść do wybranego miejsca
Ta treść została automatycznie przetłumaczona z ukraińskiego.
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.
coc-scheme.png
  1. Programista tworzy model – na przykład model Article w Rails.
  2. 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).
  3. 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".

Ten post nie ma jeszcze żadnych dodatków od autora.

Co to jest SCM (Zarządzanie Kontrolą Źródła)?
21 sie 21:46

Co to jest SCM (Zarządzanie Kontrolą Źródła)?

meme code
meme code@memecode
Jaką hierarchię ma DOM (Model Obiektów Dokumentu)?
23 sie 09:22

Jaką hierarchię ma DOM (Model Obiektów Dokumentu)?

meme code
meme code@memecode
Jak działa model sztucznej inteligencji?
15 wrz 16:42

Jak działa model sztucznej inteligencji?

meme code
meme code@memecode
Co oznacza relacyjny (w kontekście baz danych relacyjnych)?
21 wrz 08:27

Co oznacza relacyjny (w kontekście baz danych relacyjnych)?

meme code
meme code@memecode
Czym jest RDBMS (relacyjny system zarządzania bazami danych)?
21 wrz 08:56

Czym jest RDBMS (relacyjny system zarządzania bazami danych)?

meme code
meme code@memecode
Co oznacza zasada ACID w programowaniu?
24 wrz 20:31

Co oznacza zasada ACID w programowaniu?

meme code
meme code@memecode
Zaokrąglanie liczb dziesiętnych: zasady matematyczne, JavaScript i Ruby
18 paź 12:59

Zaokrąglanie liczb dziesiętnych: zasady matematyczne, JavaScript i Ruby

meme code
meme code@memecode
[Fix] Fabryka nie zarejestrowana: "user" (KeyError) (FactoryBot / Rails 7)
7 gru 10:46

[Fix] Fabryka nie zarejestrowana: "user" (KeyError) (FactoryBot / Rails 7)

meme code
meme code@memecode
Co to jest PORO w Ruby?
8 gru 12:46

Co to jest PORO w Ruby?

meme code
meme code@memecode
Czym różnią się spec_helper.rb i rails_helper.rb w RSpec?
8 gru 13:53

Czym różnią się spec_helper.rb i rails_helper.rb w RSpec?

meme code
meme code@memecode
9 gru 14:50

[Fix] Nie ma takiego pliku ani katalogu @ rb_sysopen - tmp/pids/server.pid

meme code
meme code@memecode
Co należy wiedzieć, aby zbudować udaną karierę w IT jako freelancer
23 gru 16:03

Co należy wiedzieć, aby zbudować udaną karierę w IT jako freelancer

meme code
meme code@memecode