Topic · topic
Convention Over Configuration
Convention over Configuration (CoC) is a software design principle that prefers sensible defaults and standard patterns over explicit, repetitive configuration. Frameworks that adopt CoC reduce the number of decisions a developer must make to start a new project while still allowing overrides for non-standard cases. CoC was popularized by Ruby on Rails but predates Rails, drawing on UI principles like the principle of least astonishment and conventions in JavaBeans, Maven, and other Java ecosystems. The principle continues to shape modern frameworks such as Spring Boot, Next.js, Astro, Phoenix, Ember, Hugo, and Remix.
Resources
-
Ruby on Rails
Ruby on Rails is the framework that popularized convention over configuration. By default, an ActiveRecord model named Sale maps to a sales table, controllers map to RESTful resources, and the directory layout under app/ implies wiring wit…
-
Spring Boot
Spring Boot is the convention-over-configuration evolution of the Spring Framework. Auto-configuration detects classpath dependencies and wires beans automatically, starter dependencies bundle common stacks, and standard application.yml pr…
-
Apache Maven
Apache Maven introduced a strict project layout (src/main/java, src/test/java, target/) and a convention-driven build lifecycle. A pom.xml that declares dependencies and a parent POM is enough for most Java projects to compile, test, packa…
-
Next.js
Next.js exemplifies convention over configuration in modern web frameworks. The pages and app directory conventions auto-generate routes, file-based layouts, error boundaries, loading UI, and API routes without explicit router configuratio…
-
Hugo Static Site Generator
Hugo defines content, layouts, archetypes, and partials by directory convention. A content/posts directory yields a section with a list page and per-post pages without explicit routing configuration.
Links
Providers working in Convention Over Configuration
No provider on APIs.io shares enough of this topic's tags to list here yet.
Tags
ConventionsDesign PrincipleFrameworkSoftware Design