> To be honest I have problems understanding why method categorization is so > important.
It provides a look into the mind of the author. > Often I don't care a single bit about categories because I don't understand > them. I often categorize just to make lint happy :) Ha! I remember when I used to voluntarily submit myself to lint's slavery. For a while I was putting in selectors to ignore or whatever the filtering capability it had -- until one day I said, "enough". Since then I mostly just check for "Bugs" -- let lint work for ME. Perhaps a better approach to help you relax would be to remove that particular Lint rule..? :) Ahh, freedom. :) Categories they are "integrated documentation" and, the fact that some methods remain 'as yet unclassified' IS meaningful -- it indicates that the class is either private or single-purpose. There are a lot of "code elements" in the system (classes, methods, categories, packages, etc.) and so sometimes, as you said, classes are simple enough that additional category elements are not needed. Categories are the domain of humans, not machines. They're for the writer to communicate to the readers. Auto-categorization does not increase the effectiveness of categories -- in fact I think it would dilute it. > What is the use? Declaring usage patterns? Yes. > .. Declaring visibility? Yes. > Use as method extensions marker? Yes. anything you like just classify? I can understand that it can help making the access of certain methods of a class easier. But that is particular true for classes with a lot of methods. Most of the classes are rather small. In most of my own developments I would consider most huge classes a design problem in my code. So I would try to fix that. > And finally it is not easy to learn about them because the browser is not > helping. If you browse through the methods of a class the category pane > doesn't get updated. So even if I want to learn by getting used to them it is > hard. Two ways to do that (at least in Pharo 1.4, not sure about 2.0). 1) With focus on the methods list, press Shift+Command+C. 2) Turn on System | Settings | Code browsing | Show annotation panes. > I would make the none categorized term weaker by naming it "uncategorizied" > so at least I have the change to deliberately not categorizing my methods > without being annoyed by someones opinion about what is essential. +1. Because "as yet" implies it "will" or "needs" to be classified, which isn't always true.
