Java Code Geeks » Edmund Kirwan http://www.javacodegeeks.com/ Java 2 Java Developers Resource Center Fri, 22 May 2015 19:00:21 +0000 en-US hourly 1 http://wordpress.org/?v=4.2.2 Software engineering as … engineering.http://www.javacodegeeks.com/2015/04/software-engineering-as-engineering.html http://www.javacodegeeks.com/2015/04/software-engineering-as-engineering.html#comments Tue, 21 Apr 2015 10:00:10 +0000 http://www.javacodegeeks.com/?p=39313 How do you compare the structure of two different programs? You could fire up your IDE and dive in. A week’s snorkeling will no doubt produce a valid conclusion. If, however, you have only ten seconds to decide then you need some other tool. Engineers facing similar problems in other fields regularly look to the ...

 

]]>
http://www.javacodegeeks.com/2015/04/software-engineering-as-engineering.html/feed/ 0
Breaking Bad … interfaces.http://www.javacodegeeks.com/2015/01/breaking-bad-interfaces.html http://www.javacodegeeks.com/2015/01/breaking-bad-interfaces.html#comments Thu, 08 Jan 2015 14:00:26 +0000 http://www.javacodegeeks.com/?p=35490 A question of efficiency. So, you start working on some code and a monstrous interface snarls back at you, picking from its teeth pieces of the previous programmer who dared approach. It has twenty-five methods, and you just need to add one more teeny-weeny method to it. Should you clench and add it, or should ...

 

]]>
http://www.javacodegeeks.com/2015/01/breaking-bad-interfaces.html/feed/ 0
Visualizing engineering fieldshttp://www.javacodegeeks.com/2014/10/visualizing-engineering-fields.html http://www.javacodegeeks.com/2014/10/visualizing-engineering-fields.html#comments Fri, 03 Oct 2014 07:00:53 +0000 http://www.javacodegeeks.com/?p=31088 Civil engineering.                         Mechanical engineering.       Electronic engineering.       Software engineering.       Summary. Seriously, software engineering? Photo credit attribution. Image Clemuel Ricketts House drawing 1 courtesy of wikimedia. Image Bequet-Ribault House Transverse Section with Details courtesy of wikimedia. ...

 

]]>
http://www.javacodegeeks.com/2014/10/visualizing-engineering-fields.html/feed/ 0
Bad program structure: the complectationhttp://www.javacodegeeks.com/2014/09/bad-program-structure-the-complectation.html http://www.javacodegeeks.com/2014/09/bad-program-structure-the-complectation.html#comments Wed, 10 Sep 2014 16:00:03 +0000 http://www.javacodegeeks.com/?p=29989 Degrees of badness Many programmers consider source code dependencies either circular or non-circular, with circular dependencies representing The Greatest Imaginable Evil (which of course they do) and non-circular dependencies representing the acceptable if drab face of source code structure. This second representation is not quite true. The digital gods do not create all non-circular dependencies ...

 

]]>
http://www.javacodegeeks.com/2014/09/bad-program-structure-the-complectation.html/feed/ 0
The most important factor in software decayhttp://www.javacodegeeks.com/2014/08/the-most-important-factor-in-software-decay.html http://www.javacodegeeks.com/2014/08/the-most-important-factor-in-software-decay.html#comments Fri, 22 Aug 2014 16:00:17 +0000 http://www.javacodegeeks.com/?p=29191 Do you have big balls of mud? Here’s an experiment to amaze your friends. You probably listen to music on your phone via some sort of headset. The headset we shall consider here consists of two earbuds (in-ear pieces, rather than head-phones which cover the ears) connected via wires to a jack which plugs into ...

 

]]>
http://www.javacodegeeks.com/2014/08/the-most-important-factor-in-software-decay.html/feed/ 0
Who’s afraid of the big bad class?http://www.javacodegeeks.com/2014/05/whos-afraid-of-the-big-bad-class.html http://www.javacodegeeks.com/2014/05/whos-afraid-of-the-big-bad-class.html#comments Fri, 16 May 2014 10:00:10 +0000 http://www.javacodegeeks.com/?p=25347 Ferocious, guzzling black holes of the software universe, super-massive classes result from run-away positive feedback: the class grows so huge that programmers fear any attempt at refactoring and instead simply dump more functionality into it, thereby making it even more likely that the next programmer will also pale before the terrifying refactoring and jettison yet ...

 

]]>
http://www.javacodegeeks.com/2014/05/whos-afraid-of-the-big-bad-class.html/feed/ 0
Structural contingency (part one)http://www.javacodegeeks.com/2014/04/structural-contingency-part-one.html http://www.javacodegeeks.com/2014/04/structural-contingency-part-one.html#comments Wed, 23 Apr 2014 13:00:17 +0000 http://www.javacodegeeks.com/?p=24391 Order, in mathematics, matters. Take two functions, f and g, and compose them, thus applying them to an argument as either f(g(x)) or g(f(x)). In general, it cannot be assumed that f(g(x)) = g(f(x)). If f(x) = 2x and g(x) = x 2, for example, then f(g(3)) = 18 but g(f(3)) = 36. The order ...

 

]]>
http://www.javacodegeeks.com/2014/04/structural-contingency-part-one.html/feed/ 0
What’s the opposite of duplication?http://www.javacodegeeks.com/2014/03/whats-the-opposite-of-duplication.html http://www.javacodegeeks.com/2014/03/whats-the-opposite-of-duplication.html#comments Mon, 17 Mar 2014 23:00:30 +0000 http://www.javacodegeeks.com/?p=22861 “If you see the same code structure in more than one place,” writes Martin Fowler in his wonderful, Refactoring book, “You can be sure that your program will be better if you can find a way to unify them.” He then describes how skillful programmers use the twin scalpels of extraction and substitution to excise ...

 

]]>
http://www.javacodegeeks.com/2014/03/whats-the-opposite-of-duplication.html/feed/ 0
Dependency inversion: the structure logarithmhttp://www.javacodegeeks.com/2014/03/dependency-inversion-the-structure-logarithm.html http://www.javacodegeeks.com/2014/03/dependency-inversion-the-structure-logarithm.html#comments Wed, 05 Mar 2014 20:00:11 +0000 http://www.javacodegeeks.com/?p=22458 Re-examining benefits. Through the corroded dripping pipes of transitive dependencies, ripple effects gush. Programmers sometimes spend arduous days clambering down into the darkened building-tall labyrinths of plumbing for no other reason than to rip out some of those transitive dependencies so that predictability of cost of change might improve (amplification offering prime motivation). Those programmers ...

 

]]>
http://www.javacodegeeks.com/2014/03/dependency-inversion-the-structure-logarithm.html/feed/ 0
How many classes and packages should you have?http://www.javacodegeeks.com/2013/04/how-many-classes-and-packages-should-you-have.html http://www.javacodegeeks.com/2013/04/how-many-classes-and-packages-should-you-have.html#comments Thu, 25 Apr 2013 19:00:09 +0000 http://www.javacodegeeks.com/?p=11856 Real world experience. Once upon a time there lived a family of programming bears. Each morning mammy bear, daddy bear and baby bear would rise and eat breakfast together in their secluded cottage deep in the forest before whipping out their three laptops to spend hours cheerily writing Java code. One day, while the bears ...

 

]]>
http://www.javacodegeeks.com/2013/04/how-many-classes-and-packages-should-you-have.html/feed/ 2