Skip to main content
10 events
when toggle format what by license comment
Jul 29, 2016 at 13:06 comment added JacquesB @JohnR.Strohm: I disagree with this distinction. Accidental complexity means a program is more complex than necessary to fulfill its requirements. Whether the requirements include "bells and whistles" (a subjective opinion) is beside the point.
Jul 28, 2016 at 21:49 comment added John R. Strohm @TulainsCórdova, no, what I am saying is that, IN THE REAL WORLD, complexity and size frequently go hand-in-hand. I am also drawing a very strong line between "complexity" (an inherent attribute) and "complicatedness" (what happened when Marketing got their paws all over the project spec and added forty pounds of bells and whistles). "Complex" is an adjective. "Complicated" is the past tense of a transitive verb, as in "This was a simple system until Joe complicated the frack out of everything."
Jul 28, 2016 at 20:28 comment added Jiahang Li I agreed with your argument that adding private function won't lower down the CCN of a class, but that's no the measurement module we should choose, but instead a function base would be more beneficial.
Jul 28, 2016 at 20:25 comment added David Arno Nice answer, but I especially love your random throw new FileNotFoundException(); line :)
Jul 28, 2016 at 19:39 comment added Tulains Córdova @JohnR.Strohm Are you equaling complexity with size (line count)?
Jul 28, 2016 at 19:20 history edited JacquesB CC BY-SA 3.0
added 563 characters in body
Jul 28, 2016 at 19:07 comment added Mason Wheeler @JohnR.Strohm That's actually a very good explanation of the concept of essential complexity vs. accidental complexity.
Jul 28, 2016 at 19:04 history edited JacquesB CC BY-SA 3.0
added 204 characters in body
Jul 28, 2016 at 19:03 comment added John R. Strohm The complexity (size) of the overall program is, in general, controlled by the complexity (size) of the problem to be solved. This is before the human tendency to complicate the hell out of everything, because it is more fun to make a mess than clean one up, is taken into account. The purpose of abstraction (moving things to sub-functions) is to make the pieces easier to develop, test, and manage, which reduces the overall effort required to develop, test, and manage the whole thing. This is CS 101.
Jul 28, 2016 at 18:58 history answered JacquesB CC BY-SA 3.0