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.
APIs
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 res...
Spring Boot
Spring Boot is the convention-over-configuration evolution of the Spring Framework. Auto-configuration detects classpath dependencies and wires beans automatically, starter depe...
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 paren...
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, l...
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 ...