KISS - Programowanie jest łatwe

Za każdym razem tworząc projekt od nowa, w głowie pojawia się piękna wizja czystego i czytelnego kodu, który tłumaczy sam siebie, jest lekki w zrozumieniu i łatwy w modyfikacji. Ostatecznie projekt kończy się zagmatwanym kodem, którego nie da się zrozumieć, nie czytając komentarzy. Kto nie był w takiej sytuacji niech pierwszy rzuci kamień.

Screen Shot 2018-03-27 at 19.17.53.png

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.

Dodano: 2018-03-27 05:20 przez Piotr Poźniak

Słowniczek , KISS , dobre praktyki ,
Piotr Poźniak
O autorze:

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

Komentarze:

Skomentowano: 2018-03-27 06:38 przez Rouch

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

Skomentowano: 2018-03-28 07:52 przez Piotr Poźniak

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