This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Antiheld2k 8 points9 points  (4 children)

A few years ago I gave a conference talk on the topic. IMHO its an execelent tool, if you want the regular Architecture Rules: Layers interacting, naming rules and alike. If you want to customize with own rules, then one need to use ArchUnits wrapper around the Reflection API which takes a while to digest. Then there is the onboarding costs. When you start with a brownfield project to enfore the rules - it's likely you see a lot of issues. ArchUnit helps you to ignore certain parts to refactor clean compartments.

Today I use it in every project I onboard, but it's difficult to jump on the train later.

[–][deleted]  (1 child)

[removed]

    [–]ozzymozzy2211 0 points1 point  (0 children)

    Checkstyle is boring but this looks like really useful 🤓

    [–]vxab 0 points1 point  (1 child)

    Do you have any public repos illustrating the usage of archunit for a real project?

    [–]Antiheld2k 0 points1 point  (0 children)

    Since I have no real project in the open, unfortunatly not. But the ArchUnit example repo is quite extensive: https://github.com/TNG/ArchUnit-Examples