DEV Community

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

Collapse
 
atsteffen profile image
atsteffen

Absolutely agree! Group by feature not layer (or technology)! This is perhaps the biggest and most impactful lesson I've learned in my programming career.

I think one of the reasons more teams don't adopt this is partly because it can be challenging to do without higher level tools that help you visualize your modules and their dependencies. It's a lot easier to throw things together by their file extension than by their conceptual cohesiveness, especially if you have no way to visualize and reason about cohesiveness. I don't think I would be able to do it at scale without Structure101 or similar tool.

Collapse
 
jamesmh profile image
James Hickey

I think the biggest problem is that devs are disconnected from the business. Devs are too focused on the technical problems they are solving instead of focusing on the business problems they are solving.

If that was the focus, then organizing your code around the business's products or features just naturally flows out of that.

I think the hard part is that it's such a (poor) standard in the industry to just build all these layers (which are horizontal instead of verticle).

I agree - these types of higher level concepts or "tools" (whatever you want to call it) have been the #1 thing that has made me stand out and get to where I am in my career.

I also don't feel like I'm running around in the dark as much!