Closed LisaAlmarode closed 1 month ago
My preference is to leave extensions
in regardless if there are extensions. Pharo adds and removes computed categories as you suggest but I find them confusing. I think the heart of my preference is that I want to always know exactly where to look to find the first actual category in my class. If the first category is bouncing around, I find it distracting.
Well, my feeling is that if the extensions category is empty the only way I'll know it is empty is if I click on it, so my pref would be to not have it present if there are no extensions ... it hasn't bothered me up til now, because I "know it is always empty" ... although I don't think I've tested that theory :)
Showing the extensions category is providing incorrect information to the user.
I get that it may make a developer's work a little more onerous to understand how pharo is constructing categories on the fly... but product features should prioritize users rather than developers...
It's a valid complaint that showing a computed 'extensions' category when no extensions are in the class is misleading. My complaint is that the first true category shifts positions if you don't display the computed category all the time. This makes it more difficult to find the category you want.
To show what I mean, I attached some pictures of what Pharo does. Pharo uses many computed categories and they only show a computed category if there are methods (as you recommend). But, notice how the first true category (accessing) goes from 6th to 5th to 2nd in the category list? Looking for a category alphabetically becomes more difficult. Opening a Pharo browser and selecting different classes may be the best way to get a feel for my argument.
What if I put the computed category (and any future computed categories) at the bottom of the category list?
Bottom of the list works for me. extension methods are sort of bonus.
It's adding visual clutter - first on the list and an eye-catching color - when I have a class that I don't need or want to expect every to use extension methods. I have some classes that have no instance methods and yet there is a category.