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.
URL: Visit APIs.json URL
- Conventions, Design Principle, Frameworks, Software Design
- Created: 2025-01-01
- Modified: 2026-04-28
The framework that popularized convention over configuration with ActiveRecord, RESTful routing, and an opinionated app/ directory layout.
Human URL: https://rubyonrails.org/
Auto-configuration based on classpath, starter dependencies, and externalized configuration via application.yml/properties.
Human URL: https://spring.io/projects/spring-boot
Strict project layout (src/main/java, src/test/java, target/) and a convention-driven build lifecycle.
Human URL: https://maven.apache.org/
File-system-based routing with app/ conventions for layouts, loading, error boundaries, and API routes.
Human URL: https://nextjs.org/
Content, layouts, archetypes, and partials defined by directory convention.
Human URL: https://gohugo.io/
- Wikipedia: Convention over configuration
- Rails Doctrine
- Spring Boot docs
- Maven Standard Directory Layout
- Next.js docs
FN: Kin Lane
Email: kin@apievangelist.com