DRY, KISS & YAGNI Prinzipien
Das sind drei Prinzipien, die jeder Entwickler beachten sollte, denn es geht um sauberen Code. In diesem Artikel werden wir verstehen, was jedes einzelne von ihnen bedeutet.
DRY-Prinzip
DRY steht für Don’t Repeat Yourself. In dem Buch „The Pragmatic Programmer“ finden wir diese Definition für DRY:
Jedes Wissen muss in einem System eine einzige, eindeutige und maßgebliche Darstellung haben.
Das bedeutet, dass man keinen doppelten Code haben sollte. Es ist einfacher, einen Code zu pflegen, der sich nur an einer Stelle befindet, denn wenn man etwas im Code ändern muss, muss man es nur an einer Stelle ändern. Wenn Sie denselben Code an zwei oder mehr Stellen haben, ist die Wahrscheinlichkeit groß, dass sich dieser Code im Laufe der Zeit verändert, und wenn das passiert, ist es ein einfacher Weg, um Fehler in Ihr System einzubringen. Duplizierter Code macht den Code auch komplexer und unnötig größer.
Du solltest auch keinen mehrdeutigen Code schreiben. Deine Klassen, deine Variablen, deine Funktionen, sie sollten einen bestimmten Namen haben, und ihr Name muss mit ihrer Verantwortung übereinstimmen. Wenn du eine Funktion hast, solltest du wissen, was die Funktion tut, indem du nur ihren Namen liest, ohne den Code darin lesen zu müssen.
In dem Buch ‚The Pragmatic Programmer‘ können wir auch sehen, dass:
DRY sich um die Verdoppelung von Wissen, von Absicht dreht. Es geht darum,
dasselbe an zwei verschiedenen Stellen auszudrücken, möglicherweise auf zwei völlig unterschiedliche Arten
Das bedeutet, dass es nicht nur um Copy-and-Paste-Code geht – ja, auch das gehört dazu -, sondern darüber hinaus. Es geht auch darum, unterschiedlichen Code zu haben, der das Gleiche tut. Vielleicht kann man unterschiedlichen Code an zwei oder mehr Stellen haben, aber sie tun dasselbe auf unterschiedliche Weise, auch das sollte vermieden werden.
KISS Prinzip
KISS ist ein Akronym für Keep It Simple, Stupid. Dieses Prinzip besagt, dass man seinen Code einfach gestalten soll. Du solltest unnötige Komplexität vermeiden. Ein einfacher Code ist leichter zu pflegen und leichter zu verstehen.
Dieses Prinzip können Sie beim Design und bei der Implementierung des Codes anwenden. Sie sollten doppelten Code eliminieren, unnötige Funktionen entfernen, keine unnötigen Variablen und Methoden verwenden, sinnvolle Namen für Variablen und Methoden verwenden, die ihren Verantwortlichkeiten entsprechen, und immer, wenn es möglich ist, den bekannten Standards der Codeentwicklung folgen. Sie sollten auch die Verantwortlichkeiten Ihrer Klassen und die Verantwortlichkeiten von den Schichten des Projekts trennen.
Manchmal müssen Sie nicht etwas Neues implementieren, um Ihren Bedürfnissen gerecht zu werden, Sie können einfach die Funktionen der Programmiersprache nutzen, die Sie verwenden. Dafür ist es gut, wenn man die Funktionen der Programmiersprache, mit der man arbeitet, kennt.
Wenn man in einem bereits implementierten Code arbeitet und etwas sieht, das nicht notwendig ist oder einfacher sein könnte, sollte man ein Refactoring in Betracht ziehen.
YAGNI-Prinzip
YAGNI steht für You Ain’t Gonna Need It. Es ist ein Prinzip aus der Softwareentwicklungsmethodik des Extreme Programming (XP). Dieses Prinzip besagt, dass man keine Funktionen erstellen sollte, die nicht wirklich notwendig sind.
Dieses Prinzip ähnelt dem KISS-Prinzip, sobald beide eine einfachere Lösung anstreben. Der Unterschied zwischen ihnen ist, dass YAGNI sich darauf konzentriert, unnötige Funktionalität und Logik zu entfernen, und KISS sich auf die Komplexität konzentriert.
Ron Jeffries, einer der Mitbegründer von XP, sagte einmal:
Implementieren Sie Dinge immer dann, wenn Sie sie tatsächlich brauchen, niemals, wenn Sie nur absehen, dass Sie sie brauchen.
Das bedeutet, dass man eine Funktionalität nicht implementieren sollte, nur weil man denkt, dass man sie eines Tages brauchen könnte, sondern sie nur dann implementieren sollte, wenn man sie wirklich braucht. So vermeiden Sie, dass Sie Zeit mit Implementierungen verbringen, die gar nicht notwendig sind und vielleicht nie benutzt werden.
Fazit
Wenn Sie diese Prinzipien befolgen, werden Sie besseren Code schreiben können. Denken Sie daran, dass ein sauberer Code leichter zu pflegen und zu verstehen ist und dass er Ihnen Zeit spart, wenn Sie etwas ändern oder implementieren müssen. Vermeiden Sie doppelten Code, versuchen Sie, Ihren Code so einfach wie möglich zu halten, und implementieren Sie nur Funktionen, wenn es wirklich notwendig ist.