Talk:Cohesion (computer science)

english language use
Is there a page for english language' use of "cohesion"? --Urbster1 23:50, 26 Mar 2005 (UTC)


 * Perhaps this ought to be disambiguated. Wouter Lievens 15:12, 3 Apr 2005 (UTC)

I think some actual examples of high and low cohesion modules might make the concepts discussed in this article a bit more concrete for the average reader. I'll see what I can come up with. 209.242.154.132 18:19, 27 July 2006 (UTC)

Cohesion needs to be defined better; Need more examples as well
I came here to find out the simple definitions of high and LOW cohesion. Also, I wanted examples of each concept. Unfortunately, high and low cohesion were never defined at the beginning of the article. Also, there aren't any source code examples. Can someone please provide these requests?


 * I think that's simply out of scope of the feature. Low and high cohesion is metrics, while cohesion is the term. Anyways, it have to be good if someone writes down the defs ad examples. Later, it can be split.
 * very anonymous user 92.37.220.93 (talk) 00:55, 4 September 2008 (UTC).

Why high why low
I believe it would be appropriate if reasons for why a type of cohesion is in the specified position of high or low and mentioning benefits and disadvantages for using that type of cohesion were mentioned. —The preceding unsigned comment was added by 88.203.18.189 (talk) 14:21, 16 December 2006 (UTC).

- Addidion(02-07-2007). war-ner@att.net added a definition of cohesion with respect to the military. A page should be created to reflect this meaning. I would reference my website that covers such a subject http://vawarner2000.tripod.com/ I intend to add to it as much as possible in the future. Vawarner2000

- Should the scale be so linear? Is it always considered the case where this is the appropriate order of worst to best? Or are there different situations where different groupings are easier to maintain?

Say, a Controller in a Model-view-controller layout. The methods wouldn't be grouped functionally, but more temporal or Communicational (is this even a word?) for example.

--Tyler W. MacLeod (talk) 13:57, 19 July 2008 (UTC)

Cohesion in Object-oriented programming
The contents of this article is based on a book published before the OOP paradigm became popular. How has OOP influenced this topic? I've found some information on the web about "informational cohesion" that is related to OOP and that, in some cases, is regarded as better than functional cohesion.

The Single Responsibility object-oriented design principle presented by Tom DeMarco and Robert C. Martin (on different occasions) is clearly related.

213.115.149.225 11:48, 7 June 2007 (UTC) Torbjörn Kalin

Coherence redirect
It's not clear to me why Coherence (software) redirects to this page. I expected Coherence (software) to refer to the commercial software product made by Tangosol ([]). There doesn't seem to be a page on that, which is fine, but why this page and not Cache coherence or Memory coherence which seem to be more relevant to the term? Also, the Coherence disambiguation page has this description for Coherence (software): "Coherence (software), a component of Parallels Desktop for Mac, the Windows virtualization software" which doesn't seem related to this article. Maybe the link should redirect ot the disambiguation page with an anchor for a new section for computing? 198.175.55.5 16:13, 4 December 2007 (UTC)

Use of Expat as an example
I find it odd that Expat is used as an example of functional cohesion instead of a clearer and more generic explanation. This appears to be an intentional inclusion of a product name. Paul M. Parks (talk) —Preceding comment was added at 16:18, 26 April 2008 (UTC)

Examples inconsistent
According to the first sentence of the page, my intuition and most of the examples of cohesion (Coincidence, Logical, Commucational, Logical), cohesion talks about the mechanics in a language to put building blocks into a common bin (that is, methods into objects, functions into modules, objects into classes and so on). However, the examples for Temporal, Procedural and Sequential talk about a single function. This makes no sense to me, can someone enlighten me (or is it just broken atm)? Also, I'd suggest to structure the examples in a consistent way, e.g. as in "A module is X coherent, if it contains all routines which Y", to improve the readability. --Tetha (talk) 09:58, 2 January 2010 (UTC) gui guj fgyh vb fcrd vfrtg vftvbgty gt5 yrt5  gr5tx46 t54e v6y  — Preceding unsigned comment added by 117.211.25.55 (talk) 08:18, 15 June 2012 (UTC)

Title Category change from "Computer Science" to "Software Engineering"
Cohesion seems to fall outside the realm of Computer Science is arguably more within the purveiw of the field of Software Engineering.

Usedunion (talk) 02:01, 10 May 2011 (UTC)

High vs Low Cohesion
I think this might be backwards: low cohesion is when two functions can be separated with no problems, which is a good thing, while high cohesion means that these two functions must always be together, otherwise something doesn't work. So I think that this article is wrong, or at least it has the definitions of high and low cohesion wrong. — Preceding unsigned comment added by 121.218.234.57 (talk) 08:38, 30 August 2012 (UTC)


 * No, this article talks about a goal of software engineering, namely to cut modules in such a way that the implementation within a module is highly cohesive, while the coupling between different modules shall be minimised. Basically this means, that everything that lives within that module actually belongs there. If there would be a function within that module, which could be easily removed (low cohesion), this would be bad, because this function didn't belong into that module right from start.

93.104.2.199 (talk) 07:01, 23 December 2016 (UTC)

How is "Name1 & Name2 Year" a citation?
The link of "Yourdon & Constantine 1979." points me to the exactly the same foot note. I don't understand what document is quoted here. — Preceding unsigned comment added by 141.76.99.133 (talk) 13:30, 13 June 2015 (UTC)