Jump to content

Talk:Convention over configuration

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

"The framework most strongly associated with the paradigm is Ruby on Rails, which popularized the concept. Other frameworks, like Spring, Castle MonoRail, JUnit, JBoss Seam, and Kohana take similar approaches."

This requires citation and expansion. I do not believe this is technically correct. --Julianayoung (talk) 15:39, 14 June 2008 (UTC)[reply]

This appears to have been reworked. removed the npov template --Qleem (talk) 20:27, 24 January 2011 (UTC)[reply]

Spring is ALL OTHER but a goot example for convention over configuration!!!!!!! --82.113.106.135 (talk) 19:20, 21 March 2009 (UTC)[reply]

I think that last part is incorrect, the fact that Hibernate starts using annotation is not directly related to "convention over configuration". If hibernate xml mapping supported incomplete or default definitions of properties as in annotation mappings it would making use of "convention over configuration" too.190.3.106.164 (talk) 13:57, 8 April 2009 (UTC)[reply]

JPA (and thus Hibernate) definitely uses "convention over configuration". You can leave out many details when configuring your ORM mapping, and JPA/Hibernate will assume defaults. A well known example is that in JPA you ONLY have to specify @Entity and @Id. All the other getters/setters (properties) or instance variables are then automatically assumed to be persistent properties and are automatically mapped to table columns with the same name as the property. The simple class name automatically becomes the table name. — Preceding unsigned comment added by Arjant (talkcontribs) 21:57, 11 August 2011 (UTC)[reply]

Two things

[edit]

First, is the following statement correct?

'For example, if there's a class Sale in the model, the corresponding table in the database is called sales by default.'

Shouldn't the table be called 'Sale' – exactly the same text string as the class name?

Second, it seems to me that 'convention over configuration' is, from a linguistics point of view, a direct application of the semantics principle that 'language assumes context': that the meaning of an utterance can only ever be determined relative to its context. Has this point been made in the literature, or would including this insight in the current article amount to OR? yoyo (talk) 10:17, 24 April 2011 (UTC)[reply]

Yes, a "SaleStaff" entry is by convention stored in a DB table of "sale_staffs". Combined with your point about context, this is a good example of how misuse can make CoC a Faustian bargain of saving a few seconds of developer time ("time to market", in management terms) in return for a debt of months of maintainer time ("agility"/"ability to pivot" in manager terms). The maintainer, rather than being able to look it up explicitly, needs to just know the implicit rule that applies in each case. Here, they must know whether the chosen plural of "staff" would become "staff", "staffs", or "staves", regardless of what it would be in a linguistic context.
In the worst case, the maintainer also needs to intuit whether each default behavior might have been overridden, requiring trawling through config file entries far removed from the logic being debugged, usually without even knowing what setting to search for. Similar problems existed with, eg C++'s ability to override operators, in that it imposes a convention, then allows it to be arbitrarily changed. So on a CoC system, it's absolutely best to stick with the convention, however arbitrary and ignorant of context. --DewiMorgan (talk) 20:18, 15 August 2019 (UTC)[reply]

Image is not displayed correctly

[edit]

This image http://upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Maven_CoC.svg/200px-Maven_CoC.svg.png is not displayed correctly at least in Mozilla Firefox on Linux x64 10.0.2 (on Ubuntu 11.10). This happens also in Chrome (17.0.963.65 (Developer Build 124586 Linux) Ubuntu 11.10).

Iulian.serbanoiu (talk) 08:53, 7 March 2012 (UTC)[reply]

Seconding this: on WIN7 / FF 18 and IE 9 the image contains a bunch of black boxes. Perhaps this was intentional, and the image just lacks detail? It should detail sub-directories. Probably better to remove if not fixed. Jeffhoy (talk) 15:34, 21 January 2013 (UTC)[reply]

Samething with chrome. If we enlarge image (click on it and open original one) it's correct. Don't know exactly what is the problem with it but look like a transparency/backgound issue. — Preceding unsigned comment added by 71.19.186.58 (talk) 17:53, 7 August 2014 (UTC)[reply]

Criticism

[edit]

Could someone add a "criticism" or "disadvantages" section, or a temporary {{biased}} marker until that is done? — Preceding unsigned comment added by 131.111.21.21 (talk) 02:25, 13 August 2012

Could you provide a reason why this should be done? What do you find biased, and what sources provide a different point of view not covered here? Diego (talk) 12:15, 13 August 2012 (UTC)[reply]

"This is the problem with conventions - they have to be continually resold to each developer. If the developer has not learned the convention, or does not agree with it, then the convention will violated. And one violation can compromise the whole structure.", Robert C. Martin. — Preceding unsigned comment added by 201.52.148.69 (talk) 12:45, 22 February 2013 (UTC)[reply]

References

[edit]

Please check if we can use any of http://softwareengineering.vazexqi.com/files/pattern.html citations,

1 Better, Lighter, Faster Java http://www.oreilly.com/catalog/bfljava/

2 “Convention over Configuration” http://www.dehora.net/journal/2005/11/convention_over_configuration.html

3 Domain-Driven Design, http://domaindrivendesign.org/book/

4 “Don’t Repeat Yourself” http://wiki.riteme.site/wiki/Don’t_repeat_yourself

5 “Hibernate” http://www.hibernate.org/

6 “JUnit” http://junit.sourceforge.net/

7 “P of EAA: Active Record” http://www.martinfowler.com/eaaCatalog/activeRecord.html

8 “P of EAA: Metadata Mapping” http://www.martinfowler.com/eaaCatalog/metadataMapping.html

9 “P of EAA: Page Controller” http://www.martinfowler.com/eaaCatalog/pageController.html

10 “Ruby on Rails” http://www.rubyonrails.org/

11 “Smells To Refactoring” http://wiki.java.net/bin/view/People/SmellsToRefactorings

12 “Spring Framework” http://www.springframework.org/

13 “The Spring Framework – Reference Documentation” http://static.springframework.org/spring/docs/2.0.x/reference/mvc.html#mvc-coc

14“Three Examples” http://st-www.cs.uiuc.edu/~droberts/evolve.html

15“Works Out of the Box” http://www.laputan.org/selfish/selfish.html#WorksOutOfTheBox

16“XDoclet” http://xdoclet.sourceforge.net/xdoclet/index.html — Preceding unsigned comment added by 201.52.148.69 (talk) 12:42, 22 February 2013 (UTC)[reply]

[edit]

Hello fellow Wikipedians,

I have just modified one external link on Convention over configuration. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 5 June 2024).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 18:23, 12 August 2017 (UTC)[reply]