Monday Dec 17, 2007

Default Singleton Boilerplate code in IDEA ...

While I was getting used to IDEA IntelliJ IDE, one "feature" caught my attention. They have a way to create a "Singleton" by way of a pop-up menu. Here is the code that generates the class for this controversial and damned pattern (now that Google has a Singleton Detector :-) ).
public class Single {
    private static Single ourInstance = new Single();

    public static Single getInstance() {
        return ourInstance;
    }

    private Single() {
    }
}
I see at least two problems with this "default" code:
  1. The class should have been declared final.
  2. The variable ourInstance should have been declared final.
  3. Motivation:

    Quality criterion for boilerplate code is same as that for real code (in these days of fast search engines :) ). Also, I am mildly surprised that it takes a lot of time for me to:
    • Create a Java Interface
    • Create a Class that implements that Interface with stubbed implementation for interface methods .
    This is true with both NetBeans 6.0 (which means it is true with any other IDE because NetBeans is the only IDE you need, these days :) ) and IDEA 7.0.
About

Welcome to my blog where mostly my work related thoughts are expressed.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today