Stephane Ducasse ducasse@iam.unibe.ch wrote:
What could be interesting to add is: - abstract methods
Done. Wasn't sure whether methods that call #shouldNotImplement also count as abstract. What do you think?
- extends (overide + call super)
It now says SU if the method calls upon super. This raises two issues - 1. For the other indications, if you get them you don't need to know the methods complexity. Should one get things like SU3 for a complex, super calling method? 2. SU isn't exactly like extends, because some methods call super differentMethod. Is this an important distinction?
- override without super call - delegate
define delegate... (same parameters? same name? or just only a single send? does it have to return the result of the delegation?)
BTW, you have better ideas about how to display these things? I think the single-letter-flag idea is past it's usefulness ;-)
Stef
Daniel
from preamble:
"Change Set: HintingBrowser 0.2 Date: 2 June 2001 Author: Daniel Vainsencher
Experimental!! Adds hints about the contents of methods in the Browser. A - accessor S - just return self C - just return some constant P - a primitive a number - regular code, higher number mean more complicated code. Now also: ABS - the method is a subclassResponsibility SU - the method calls upon the super class
This is very alpha code, much hackery, not meant for inclusion in update stream... Having gotten this clear, this code can say various things - 1. We can get some information more easily than entering the method, especially when browsing code. The info found by this version is only the trivially available, we could do more. 2. Cute icons might be better than letters 3. A smarter PluggableList would be able to get lists of things other than texts, and display each appropriately - (not like in this code by a fixed mapping) maybe by asking the list items, maybe by being configured with the right morph Factory by the application"!
On 02/06/01 17:27, "danielv@netvision.net.il" danielv@netvision.net.il wrote:
Stephane Ducasse ducasse@iam.unibe.ch wrote:
What could be interesting to add is: - abstract methods
Done. Wasn't sure whether methods that call #shouldNotImplement also count as abstract. What do you think?
Well, no, as the intention is not that subclasses should override this to implement the behavior, quite the contrary. ShouldNotImplement is used for 'cancellation': 'removing' unwanted behavior inherited from superclasses. Maybe this is another category.
- extends (overide + call super)
It now says SU if the method calls upon super. This raises two issues -
- For the other indications, if you get them you don't need to know the
methods complexity. Should one get things like SU3 for a complex, super calling method? 2. SU isn't exactly like extends, because some methods call super differentMethod. Is this an important distinction?
Yes. Methods with a selector foo: that in their implementation call do a super call to another method then foo: are considered very bad and could lead to hard-to-track bugs. I normally call this is a 'bad super send', and show it differently from regular super sends.
- override without super call - delegate
define delegate... (same parameters? same name? or just only a single send? does it have to return the result of the delegation?)
BTW, you have better ideas about how to display these things? I think the single-letter-flag idea is past it's usefulness ;-)
Yes, it quickly does, does it ? I never found a good intuitive way of doing it... Icons are also not very practical. Maybe letters or icons in combinations with tooltips ? That way you can hover over an icon/flag and get more info ?
squeak-dev@lists.squeakfoundation.org