DEV Community

Jonathan
Jonathan

Posted on

Micro-post: Should configuration be avoided?

I’ve never met a developer who enjoys “configuring” anything. Is there something fundamentally wrong with the whole idea of “configuration”? Is it a “code smell”?

Most configuration I’ve ever worked with violates basic principles of clean code and good software design – non-existent or shallow modularisation, mixture of concerns, poor naming, deep nesting, duplication, over-specification, etc. etc. No wonder it’s painful to work with!

Whenever we think we need configuration, should we instead pause and think about redesigning so that we don’t need configuration?

Discussion (1)

Collapse
djangotricks profile image
Aidas Bendoraitis

If an app or web app does only one thing and does it intuitively and simply, then probably configuration could be skipped.

From the marketing perspective, configuration allows to personalize a product and that's a huge selling point for the customers.

I guess, to make an app very usable and minimal correctly, a lot of A/B testing needs to be done with lots of user groups, so that you could choose which features are really attractive and useful, and which of them distract people and make them leave your product.

I guess the no-configuration approach would work very well for the beginners, but the configuration would be preferred by power users.