Thomas Darimont
Erfahrenes Mitglied
Hallo,
vor ein paar Monaten hab ich mir das Buch "Beautiful Code":
http://www.amazon.de/Beautiful-Code-Theory-Practice-OReilly/dp/0596510047 gekauft. Darin beschreiben 33 namhafte Autoren anhand von kleinen mehr oder weniger leicht verständlichen Beispielen was für sie "Beautiful Code" ausmacht.
Auch wenn mich die vorgestellten Probleme nicht wirklich vom Hocker gehauen haben fannd ich doch sehr interessant das fast jedes Beispiel in einer anderen Programmiersprache vorgestellt wird. So kann man sich relativ schnell einen Einblick in eine "fremde" Programmiersprache verschaffen ;-)
Während der Lektüre dieses Buchs hab ich mich dann mal selbst gefragt, was macht für mich persönlich Code schön.
Mein Ergebnis war, dass Code für mich dann schön ist wenn er so klar ist, dass man eigentlich keinerlei Kommentare braucht um zu verstehen was da passiert. Im grunde genommen rede ich hier von sowas wie einer intuitiven API bei der man schon vom bloßen draufschauen auf die Packages/Module Klassen/Interfaces und Methoden weis wozu diese da sind ohne gleich alles in der Dokumentation nachlesen zu können. Ein Weg wie man solche APIs bauen kann sind Fluent Interfaces: http://en.wikipedia.org/wiki/Fluent_interface hier noch weitere Beispiele dazu:
http://martinfowler.com/bliki/FluentInterface.html
http://www.tutorials.de/forum/java/...-aspectj-style-aop-pointcut-definitionen.html
Darüber hinaus nene ich eine API zusätzlich elegant wenn sie so mächtig (Feature complete) ist, dass diese die Anforderungen an sie erfüllt
und gleichzeitig auf das wesentliche reduziert ist, dass man nichts mehr wegnehmen kann.
Versteht mich nicht falsch-Ich finde gute Dokumentation ist sehr wichtig-aber wenn die APIs zusätzlich noch intuitiv zu benutzen sind findet man sich viel schneller / besser damit zurecht.
Wie seht ihr das?
Gruß Tom
vor ein paar Monaten hab ich mir das Buch "Beautiful Code":
http://www.amazon.de/Beautiful-Code-Theory-Practice-OReilly/dp/0596510047 gekauft. Darin beschreiben 33 namhafte Autoren anhand von kleinen mehr oder weniger leicht verständlichen Beispielen was für sie "Beautiful Code" ausmacht.
Auch wenn mich die vorgestellten Probleme nicht wirklich vom Hocker gehauen haben fannd ich doch sehr interessant das fast jedes Beispiel in einer anderen Programmiersprache vorgestellt wird. So kann man sich relativ schnell einen Einblick in eine "fremde" Programmiersprache verschaffen ;-)
Während der Lektüre dieses Buchs hab ich mich dann mal selbst gefragt, was macht für mich persönlich Code schön.
Mein Ergebnis war, dass Code für mich dann schön ist wenn er so klar ist, dass man eigentlich keinerlei Kommentare braucht um zu verstehen was da passiert. Im grunde genommen rede ich hier von sowas wie einer intuitiven API bei der man schon vom bloßen draufschauen auf die Packages/Module Klassen/Interfaces und Methoden weis wozu diese da sind ohne gleich alles in der Dokumentation nachlesen zu können. Ein Weg wie man solche APIs bauen kann sind Fluent Interfaces: http://en.wikipedia.org/wiki/Fluent_interface hier noch weitere Beispiele dazu:
http://martinfowler.com/bliki/FluentInterface.html
http://www.tutorials.de/forum/java/...-aspectj-style-aop-pointcut-definitionen.html
Darüber hinaus nene ich eine API zusätzlich elegant wenn sie so mächtig (Feature complete) ist, dass diese die Anforderungen an sie erfüllt
und gleichzeitig auf das wesentliche reduziert ist, dass man nichts mehr wegnehmen kann.
Versteht mich nicht falsch-Ich finde gute Dokumentation ist sehr wichtig-aber wenn die APIs zusätzlich noch intuitiv zu benutzen sind findet man sich viel schneller / besser damit zurecht.
Wie seht ihr das?
Gruß Tom