tak jak w tytule
Gdzie kończy się KRÓD jako synonim small scale, not complex system design, a zaczyna kompleksowy system informatyczny? :)
tak jak w tytule
Gdzie kończy się KRÓD jako synonim small scale, not complex system design, a zaczyna kompleksowy system informatyczny? :)
A jak system, który zapisuje nasze pesele to crud to nie jest kompleksowy?
Myślę, że crud może być kompleksowy - sam w sumie pisałem taką aplikację, typowego cruda i nie mogę powiedzieć, że nie było to w pewnym sensie złożone.
Nie ma i nie będzie precyzyjnej definicji.
Ale jeśli chcesz to moment, w którym czujesz potrzebę pisania testów.
WeiXiao napisał(a):
tak jak w tytule
Gdzie kończy się KRÓD jako synonim small scale, not complex system design, a zaczyna kompleksowy system informatyczny? :)
Zapewne w momencie zapłaty / negocjacji o stawkę xD
jak coś się nazwie "kompleksowym systemem informatycznym" to mądrzej brzmi i jak coś, za co można zakosić grubą kasę.
A CRUD to idź pan, student zrobi coś takiego za kilka stówek.
BTW to mój 4001 post :)
danek napisał(a):
Nie ma i nie będzie precyzyjnej definicji.
Ale jeśli chcesz to moment, w którym czujesz potrzebę pisania testów.
O.o Ja nawet w prostym crudzie nie wyobrażam sobie pominięcia testów.
Ja bym wyszedł od strony funkcjonalności oraz architektury. Wg mnie taki typowy CRUD jest jakby nakładką na bazę danych. Jeśli apka się sprowadza do odczytu i zapisu danych (np. program do prowadzenia magazynu albo baza danych klientów) to mowimy o czymś prostym. Nawet, jeśli ma kilka dodatkowych opcji, takich jak możliwość wydruku albo praca na wielu stanowiskach, to nadal jest krudżem.
Z kolei coś podobnego, ale mające poza magazynem jeszcze możliwość fakturowania, księgowość, moduł kadrowy itp, już raczej będzie systemem złożonym. Celowo napisałem o "module kadrowym", bo to też ma znaczenie przy ocenie złożoności systemu. Może użytkownik końcowy tego nie widzi, ale w zależności od zastosowanej architektury, funkcjonalność może być wkpmpilowana na sztywno, albo możemy mieć budowę modułową, jakieś API, resty, DI itp. Jeśli twój system ma coś takiego, to wiedz, że nie jest CRUDem ;)
Jak dla mnie im więcej z poniższych jest spełnione
tym większe prawdopodobieństwo, że mam do czynienia z CRUDem lub czymś CRUDo-podobnym :(
Co zatem nie jest CRUDem?
Pytanie jest bez sensu.
Natomiast CRUDem w znaczeniu popularnym nazywam antywzorzec inżynierii oprogramowamoa osiągany gdy chłopaki z backendu posłuchają opowieści klienta, zamodelują zarąbiście domenę
nasrają encji, relacji, DTO, CTO, ETO, DBO, serwisów, kontrolerów i buldożerów i wystawią do tego API. Nie sprawdzając jak powinien działać front-end i czego potrzebuje. Bo przeciez frontem gardzimy...
Można to zrobić z dowolnie skomplikowanym systemem.
WeiXiao napisał(a):
Gdzie kończy się KRÓD jako synonim small scale, not complex system design, a zaczyna kompleksowy system informatyczny? :)
Zostałem zawołany, ale w ogóle nie rozumiem pytania.
Prokom
). Skomplikowany system informatyczny zaś to jakiś MRP, ERP czy inny CRM - i w nich też może być masa CRUDa.CRUD to są moim zdaniem trywialne zadania związane wyłącznie z przechowywaniem danych w bazie, w dowolnej aplikacji może być ich więcej albo mniej. Im więcej, tym nudniej, chociaż z drugiej strony szybciej, bo wiele rzeczy można obsłużyć generycznie (no chyba, że się ma architektów i 15 warstw, ale wtedy nic nie jest proste ani szybkie).
Naprawdę poważne systemy zaczynają się kiedy programiście robi się ciepło jeśli słyszy, że ktoś wykrył błąd.