KISS to akronim od "Keep It Simple, Stupid". Jest to podejście, które mówi o tym, aby nie komplikować niepotrzebnie projektu, czego rezultatem ma być konstrukcja, którą zrozumie średnio rozgarnięty specjalista. Wywodzi się ze środowiska inżynierów wojskowych, ale znalazło zastosowanie również w oprogramowaniu komputerowym (i innych dziedzinach).

Nie ma ścisłych ram i wytycznych jak KISS ma wyglądać. Wydaje mi się, że przede wszystkim należy zachować zdrowy rozsądek i w miarę możliwości, znajdować jak najmniej skomplikowane rozwiązania. Poniżej moja lista najczęstszych sytuacji, w których KISS odchodzi w niepamięć:

Nadmiarowa funkcjonalność- pokusa, gdy chcemy zrobić naszą aplikację na zdolną do wszystkiego, posiadającą masę opcji, dając użytkownikowi ogromną swobodę. Zazwyczaj kończy się to nieukończonym projektem. Nadmiarowa modułowość- podobnie, jak wyżej, gdy tworzony program ma umożliwiać prostą rozbudowę. Tworzony wtedy interface jest zazwyczaj przerośnięty i trudny w utrzymaniu. Brak spójności- konwencja nazewnictwa, trzymanie w ryzach odpowiedniego formatowania kodu oraz konsekwencja przy realizacji algorytmu. To wymaga samodyscypliny, ale poluzowanie powoduje sporo trudności przy kontynuowaniu projektu. Nie trzymanie się DRY- w zasadzie KISS i DRY idą w parze jak kawa i ciastko.

KISS’em należy się kierować i niekiedy zdarzyć się może sytuacja, gdy coś jest naprawdę skomplikowane. W niektórych kwestiach jest to nieuniknione, jednak ma to być wyjątek (potwierdzający regułę), a nie wymówka.

Masz przykłady, gdzie KISS powinien być stosowany albo sytuację, gdzie niestosowanie tej metodologii doprowadziło do problemów? Napisz w komentarzu, ku przestrodze.

Powiązane tematy

URL

URL

"W internecie jest wszystko." Do każdego zasobu jest tak samo daleko, wystarczy znać jego adres. Adres zasobu to ścieżka, która prowadzi dokładnie do tej rzeczy. W niej samej zakodowane jest sporo interesujących informacji. Czytaj całość

Aplikacje hybrydowe

Aplikacje hybrydowe

Problem pojawia się, gdy programista zaznajomiony z konkretną platformą staje przed zadaniem napisania "tego samego" na inną platformę. Wtedy jego wiedza może się okazać co najmniej niewystarczająca, a niekiedy nawet może przeszkadzać w poznawaniu nowego. Czytaj całość

Enkapsulacja

Enkapsulacja

Gdy przychodzi potrzeba opakowania warstwy danych w inną warstwę danych, to mamy do czynienia z enkapsulacją, o której słów kilka w poniższym artykule. Czytaj całość


Piotr Poźniak

Piotr Poźniak

Programuję od ponad 15 lat. Prowadzę software house. Angażuję i zachęcam wszystkich do programowania w ramach inicjatywy Programowanie jest łatwe.

Twoja opinia

Komentarzy: 2

Avatar użytkownika Piotr Poźniak
Piotr Poźniak · 4 lata temu

Czasami nie trzeba nawet kombinować. Ot gorszy dzień albo pójście na łatwiznę i problem gotowy.

Avatar użytkownika Rouch
Rouch · 4 lata temu

Na pewno jak zaczynasz kombinować nad super genialnym rozwiązaniem godnym miejsca na panteonie - wtedy należy przypomnieć sobie tą zasadę :D

Obrazek przedstawiający nadgryzione ciasteczko