DEV Community

Discussion on: The Life-changing (And Time-saving!) Magic Of Feature Focused Code Organization!

Collapse
 
cjbrooks12 profile image
Casey Brooks

Individual features can diverge in their implementation details if the need for different technologies is justified...specific features can evolve as needed.

This point cannot be understated. when working with horizontal layer, poor design choices affect the entire codebase, and it's difficult to fix (or even understand) the problem. But if a feature slice chooses a poor implementation, well just cut your losses and don't do it again on the next feature. The rest of your app is safely isolated from the design patterns in other features, and you have the freedom to try new things with little risk overall.

Collapse
 
jamesmh profile image
James Hickey

Def. agree - having done this on anonymous the team mentioned in the article it's such a breathe of fresh air that new features can introduce new concepts or not use concepts that have been found to be non-beneficial.

So for teams who want to experiment with different ways to structure code etc. it's a fantastic way to do that.

In my case, I'm slowly introducing new concepts like CQRS, Domain Driven Design, etc. to the team - inch-by-inch as new features are built. Works great!