Niedawno czytam The Pragmatic Programmer, który stwierdza, że:
Szczegóły psują nasz nieskazitelny kod - zwłaszcza jeśli często się zmieniają. Za każdym razem, gdy musimy wejść i zmienić kod, aby uwzględnić zmiany logiki biznesowej, prawa lub osobistych upodobań kierownictwa, ryzykujemy złamaniem systemu - wprowadzeniem nowego błędu.
Hunt, Andrew; Thomas, David (1999-10-20). Pragmatyczny programista: od czeladnika do mistrza (lokalizacje Kindle 2651-2653). Pearson Education (USA). Wersja Kindle.
Obecnie programuję aplikację internetową, która ma niektóre modele, które mają właściwości, które mogą pochodzić tylko z zestawu wartości, np. (Nie rzeczywisty przykład jako poufne dane aplikacji internetowej):
światło-> typ = kula / sześcian / cylinder
Typem światła mogą być tylko powyższe trzy wartości, ale zgodnie z TPP zawsze powinienem kodować, tak jakby mogły się zmienić i umieścić swoje wartości w pliku konfiguracyjnym. Ponieważ w aplikacji jest kilka takich przypadków, moje pytanie brzmi:
Czy powinienem przechowywać ewentualnie takie wartości w:
plik konfiguracyjny:
'light-types' => array(sphere, cube, cylinder),
'other-type' => value,
'etc' => etc-value
pojedyncza tabela w bazie danych z jednym wierszem dla każdego elementu konfiguracji
Baza danych z tabeli dla każdego elementu konfiguracji (np tabela:
light_types
; kolumny:id
,name
)w inny sposób?
Wielkie dzięki za wszelką oferowaną pomoc / wiedzę.