Re: The screwdriver is back!

Jesse Glick <[email protected]>
Newsgroups gmane.comp.java.netbeans.user-interface
Organization Sun Microsystems / NetBeans
Message-ID <[email protected]>
Petr Hrebejk wrote:
> 1) If there is not the @Override in the [source] then there would
> [be] a warning but the warning icon does not show what warning that
> is.

Sure, but if you accepted the hint then you wouldn't need to look at the 
icon any more; just like any other hint. Of course this does not apply 
to -source 1.4 or earlier where @Override is impossible.

> 2) Go To super implementation is less discoverable IMO.

Possibly. (Took me a little while to figure out clicking on the icon did 
something, but not too long.) A menu item is more accessible, on the 
other hand (Ctrl-B).

> 3) Id the navigation does not work please file a bug.

I did already, just isn't fixed yet.

> What's so bad about screwdrivers?

Actually the icon is pretty. I just haven't figured out what 
implementing an interface has to do with driving screws. :-) The wrench 
on uncompiled files is mostly mysterious too, but it says to me "you 
need to use some tool on this" (and it's better than the old "binary 
garbage" icon badge no one could figure out).

David Strupl wrote:
> It is much faster visually to have some kind of icon than whatever in
> the annotation.

Exactly. My question is how important the information is when you're 
reading code - whether it deserves drawing attention away from other 
icons in the gutter. There is no icon for public methods, and we don't 
need one, because you can see for yourself in the source code that the 
method is "public". In C#, you don't need an icon in your IDE to tell 
you that a method overrides a virtual base method, because the source 
code has to say so.

An example:

  34            EventQueue.invokeLater(new Runnable() {
(I)               public void run() {
  36                    updateWith(complex + calcul.ation());
  37                }
  38            });

The icon appears in the left margin and grabs my attention when I should 
be looking at the body of the runnable. Whereas in

  34            EventQueue.invokeLater(new Runnable() {
  35                @Override public void run() {
  36                    updateWith(complex + calcul.ation());
  37                }
  38            });

the contents of line 35 appear as boilerplate, which is exactly what 
they are.

-J.

-- 
[email protected]  x22801  netbeans.org  ant.apache.org
       http://google.com/search?q=e%5E%28pi*i%29%2B1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.