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.
"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ść
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ść
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ść
Programuję od ponad 15 lat. Prowadzę software house. Angażuję i zachęcam wszystkich do programowania w ramach inicjatywy Programowanie jest łatwe.
Twoja opinia