Chuck Norris

From APIDesign

(Difference between revisions)
Jump to: navigation, search
Current revision (09:18, 13 December 2010) (edit) (undo)
 
(5 intermediate revisions not shown.)
Line 1: Line 1:
Everyone who knows [[wikipedia:Chuck Norris|Chuck Norris]] knows that he can do magical things. During our [[Linz]] 2010 [[NetBeans]] Certified Training [[Toni Epple]] came up with new, yet unknown, Chuck's capability. ''Chuck can instantiate abstract classes!''
Everyone who knows [[wikipedia:Chuck Norris|Chuck Norris]] knows that he can do magical things. During our [[Linz]] 2010 [[NetBeans]] Certified Training [[Toni Epple]] came up with new, yet unknown, Chuck's capability. ''Chuck can instantiate abstract classes!''
-
I was just talking about one [[NetBeans]] [[API]] - [http://bits.netbeans.org/6.9.1/javadoc/org-openide-nodes/ Nodes] and I had to explain why certain [[NetBeans]] classes are improperly named. Like [http://bits.netbeans.org/6.9.1/javadoc/org-openide-nodes/org/openide/nodes/AbstractNode.html AbstractNode]. In spite of its name it is class that can be instantiated (althrough it is usually subclassed in order to be useful). Well, yeah, it does not have [[Good Name]]. A name like '''DefaultNode''' would suite that class more. At least this is the convention used by [[Swing]]. There is an interface and then there is a ''default'' implementation that simplifies the interface usage. We could have followed this naming practise, if the [http://bits.netbeans.org/6.9.1/javadoc/org-openide-nodes/ Nodes API] was not older than [[Swing]]. Now it is too late to change the name (as we would break [[backword compatibility]]) and not gained much. Rather we learn how to live with [http://bits.netbeans.org/6.9.1/javadoc/org-openide-nodes/org/openide/nodes/AbstractNode.html AbstractNode]'s name.
+
I was just talking about one [[NetBeans]] [[API]] - [http://bits.netbeans.org/6.9.1/javadoc/org-openide-nodes/ Nodes] and I had to explain why certain [[NetBeans]] classes are improperly named. Like [http://bits.netbeans.org/6.9.1/javadoc/org-openide-nodes/org/openide/nodes/AbstractNode.html AbstractNode]. In spite of its name it is class that can be instantiated (althrough it is usually subclassed in order to be useful). Well, yeah, it does not have [[Good Name]]. A name like '''DefaultNode''' would suite that class more.
-
The upside of this is that each [[NetBeans]] [[API]] use can feel like [[Chuck Norris]] for a moment! Everyone can ''instantiate abstract node!''. Enjoy this magnificent power and please don't misplace [[Chuck Norris]] and [[wikipedia:Bruce Lee|Bruce Lee]]:
+
At least this is the convention used by [[Swing]]. There is an interface and then there is a ''default'' implementation that simplifies the interface usage in [[Swing]]. We could have followed this naming practise, if the [http://bits.netbeans.org/6.9.1/javadoc/org-openide-nodes/ Nodes API] creation had not preceeded [[Swing]] by few months. Then it was too late to change the name (as we would break [[backward compatibility]]) and not gained much. Rather we learned to live with [http://bits.netbeans.org/6.9.1/javadoc/org-openide-nodes/org/openide/nodes/AbstractNode.html AbstractNode]'s name.
 +
 
 +
The upside of this case is that each developer using [[NetBeans]] [[API]] can feel like [[Chuck Norris]] for a moment! Everyone can ''instantiate abstract node!''. Enjoy this magnificent power and please don't misplace [[Chuck Norris]] and [[wikipedia:Bruce Lee|Bruce Lee]]:
{{#ev:youtube|J1E_-lVujMg}}
{{#ev:youtube|J1E_-lVujMg}}

Current revision

Everyone who knows Chuck Norris knows that he can do magical things. During our Linz 2010 NetBeans Certified Training Toni Epple came up with new, yet unknown, Chuck's capability. Chuck can instantiate abstract classes!

I was just talking about one NetBeans API - Nodes and I had to explain why certain NetBeans classes are improperly named. Like AbstractNode. In spite of its name it is class that can be instantiated (althrough it is usually subclassed in order to be useful). Well, yeah, it does not have Good Name. A name like DefaultNode would suite that class more.

At least this is the convention used by Swing. There is an interface and then there is a default implementation that simplifies the interface usage in Swing. We could have followed this naming practise, if the Nodes API creation had not preceeded Swing by few months. Then it was too late to change the name (as we would break backward compatibility) and not gained much. Rather we learned to live with AbstractNode's name.

The upside of this case is that each developer using NetBeans API can feel like Chuck Norris for a moment! Everyone can instantiate abstract node!. Enjoy this magnificent power and please don't misplace Chuck Norris and Bruce Lee:

Personal tools
buy