Convention over Code: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m →‎top: Cleaning up a randomly generated list, added orphan tag using AWB
Cewbot (talk | contribs)
m Normalize {{Multiple issues}}: Remove {{Multiple issues}} for only 1 maintenance template(s): Unreferenced
Line 1: Line 1:
{{Multiple issues|
{{Orphan|date=March 2018}}
{{Orphan|date=March 2018}}
{{Unreferenced|date=March 2008}}
{{Unreferenced|date=March 2008}}
}}


'''Convention over Code''' is a design approach for programming languages where the conventional use of a feature is taken into consideration when defining the default semantics of the feature. Similar to [[Convention over Configuration]], if a keyword can be implied by its absence due to convention, it becomes less a part of the idea the coder is expressing and a part of the hidden implementation.
'''Convention over Code''' is a design approach for programming languages where the conventional use of a feature is taken into consideration when defining the default semantics of the feature. Similar to [[Convention over Configuration]], if a keyword can be implied by its absence due to convention, it becomes less a part of the idea the coder is expressing and a part of the hidden implementation.

Revision as of 03:22, 31 May 2020

Convention over Code is a design approach for programming languages where the conventional use of a feature is taken into consideration when defining the default semantics of the feature. Similar to Convention over Configuration, if a keyword can be implied by its absence due to convention, it becomes less a part of the idea the coder is expressing and a part of the hidden implementation.

A common, notorious example is found in Java and C#. We find the keyword public infused throughout a typical Java code excerpt, and in the case of methods it implies public scope access. In practice, more methods use public scope access than the other three: private, protected and package protected (which happens to be the actual Java default). While a matter of opinion and much debate by programmers that love to be explicit about everything, it is clear that leaving out scope access keywords altogether takes very little away from the actual expression of an idea in code, because it has nothing to do with the idea at all, it is an attribute of the implementation of an idea.

Convention over Code means we would make public the default for methods, and make better use of keyword Huffman coding in language design.

See also