Quicktest: ArchUnit 0.0.22 bei ETH 4355

Vor zwei Stunden wurde eine neue ArchUnit 0.0.22 veröffentlicht. Dann mal gleich ein Quicktest. Memory leak ist nun gefixt. Und es können Unterstriche durch Leerzeichen in Testnamen ersetzt werden:

„Quicktest: ArchUnit 0.0.22 bei ETH 4355“ weiterlesen

ArchUnit 0.20.1 Quicktest am Beispiel der Blockchain oder “Das ist historisch gewachsen” war gestern

Heute gilt „die Umsetzung von Architekturvorgaben lässt sich testen!“. Und das sogar mit JUnit 5! Cool.

ArchUnit
Wenn auch nur eine IllegalArgumentException gefixt wurde, mal gleich auf die aktuelle ArchUnit Version updaten. Ja, es läuft noch alles. „ArchUnit 0.20.1 Quicktest am Beispiel der Blockchain oder “Das ist historisch gewachsen” war gestern“ weiterlesen

Architektur mit archunit validieren

Mit automatischer Architektur validierung mit JUnit 5 Annotation @ArchTest von archunit kann leicht die Architektur vorgaben überprüft werden. Aber es kann auch leicht verhindert werden, das man z.B. System.out oder System.err verwendet. Oder das verhindert wird, das das interne Java Logging verwendet wird.

Was für mich auch wichtig ist, das der Logger immer LOG heißt, und nicht log oder logger.


Einfach diese JUnit-Test Klasse in alle Projekte einbinden. „Architektur mit archunit validieren“ weiterlesen

ArchUnit gestern in Version 0.18.0 veröffentlicht oder wie validiere ich die Architektur am Beispiel einer Blockchain

Gestern wurde ArchUnit in Version 0.18.0 veröffentlicht.

ArchUnit

Wenn das keine Grund ist mal zu zeigen, wie man eine Package-Abhängigkeit überprüfen kann.
Also wir wollen einen Test schreiben, der durchläuft wenn nur aus dem Package blockchain auf das Package be zugegriffen wird. Wie hier im UML Diagramm gezeigt:… „ArchUnit gestern in Version 0.18.0 veröffentlicht oder wie validiere ich die Architektur am Beispiel einer Blockchain“ weiterlesen

Wie sieht eine gute API aus?

Gem. Joshua Bloch „If in doubt, leave it out!“.

Das heißt soviel wie, nur Methoden in eine API aufnehmen, von denen man sicher ist, dass sie auch benötigt werden. Methoden für die man kein verwender hat, sollte man nicht mit aufnehmen. Den Neues kann man leicht
hinzufügen, Bestehendes aber nicht so leicht verändert oder entfernen. Also sich auf das konzentrieren, was
in den Anforderungen gebraucht wird. Sonst wird das System unnötig komplex.

Siehe diesen Video bei ca. 24 min.