Convention over configuration (also known as coding by convention) is a software design paradigm used by software frameworks that attempts to decrease the number of decisions that a developer using the framework is required to make without necessarily losing flexibility and don't repeat yourself (DRY) principles.[1]
The concept was introduced by David Heinemeier Hansson to describe the philosophy of the Ruby on Rails web framework, but is related to earlier ideas like the concept of "sensible defaults" and the principle of least astonishment in user interface design.
The phrase essentially means a developer only needs to specify unconventional aspects of the application. For example, if there is a class Sales in the model, the corresponding table in the database is called "sales" by default. It is only if one deviates from this convention, such as the table "product sales", that one needs to write code regarding these names.
When the convention implemented by the tool matches the desired behavior, it behaves as expected without having to write configuration files. Only when the desired behavior deviates from the implemented convention is explicit configuration required.
Ruby on Rails' use of the phrase is particularly focused on its default project file and directory structure, which prevent developers from having to write XML configuration files to specify which modules the framework should load, which was common in many earlier frameworks.
^Doyle, Kerry (11 November 2021). "Programming in Ruby: A critical look at the pros and cons". Search App Architecture. Retrieved 17 December 2021.
and 23 Related for: Convention over configuration information
Conventionoverconfiguration (also known as coding by convention) is a software design paradigm used by software frameworks that attempts to decrease...
effort. Spring Boot is a convention-over-configuration extension for the Spring Java platform intended to help minimize configuration concerns while creating...
Security sub-project (formerly Acegi Security System for Spring). Conventionoverconfiguration: a rapid application development solution for Spring-based enterprise...
well-known software engineering patterns and paradigms, including conventionoverconfiguration (CoC), don't repeat yourself (DRY), and the active record pattern...
semantics of the feature. Similar to ConventionoverConfiguration, if a keyword can be implied by its absence due to convention, it becomes less a part of the...
the needed boilerplate code or insert it at compile time), conventionoverconfiguration (which provides good default values, reducing the need to specify...
Spring Roo Spring Roo is an open source software tool that uses convention-over-configuration principles to provide rapid application development of Java-based...
approach to the build process. Maven follows the paradigm of "conventionoverconfiguration" for managing its dependencies. The Java source code (or "src")...
follows a conventionoverconfiguration approach, it is possible to describe all of these build phases in short configuration files. Conventions include...
to refactoring tools to help programmers achieve this goal. Conventionoverconfiguration There's more than one way to do it The source code for the Zen...
Spring Roo is an open-source software tool that uses convention-over-configuration principles to provide rapid application development of Java-based enterprise...
engineering concepts and software design patterns, such as conventionoverconfiguration, model–view–controller, active record, association data mapping...
the Reorganized Church of Jesus Christ of Latter Day Saints Conventionoverconfiguration, a software design paradigm which seeks to decrease the number...
Application server Application framework Application security Conventionoverconfiguration Don't repeat yourself (DRY) List of web service frameworks Rich...
Java. It aims to optimize developer productivity by using conventionoverconfiguration, hot code reloading and display of errors in the browser. Support...
by embracing the idea of ConventionoverConfiguration, that is, Maven provides default values for the project's configuration. The directory structure...
makes an unsurprising user experience. DWIM (do what I mean) Conventionoverconfiguration Human interface guidelines Look and feel Occam's razor WYSIWYG...
developer productivity. It adheres to the ConventionoverConfiguration paradigm, eliminating almost all XML configuration. Tapestry uses a modular approach to...
these frameworks, web2py focuses on rapid development, favors conventionoverconfiguration approach and follows a model–view–controller (MVC) architectural...
processes Configuration control and configuration-status accounting Naming conventions Audits and reviews Subcontractor/vendor CM requirements Configuration Identification...
feature added to the Java language with its 5.0 release) and conventionoverconfiguration to enable a much less verbose coding style. Accordingly, in...