On 30 January 2013 21:03, Nicolas Cellier
<[email protected]> wrote:
> First, these are not categories. categories are for classes.
> These are protocols.
>
> A protocol is like an interface,

Yes, only no. Think of the messages that make something like a Stream:
you have accessing things (#next, ...), you have testing things
(#isEnd), you have mutating things (#nextPut:, ...). My point is that
the set of messages that make something like a Stream are spread
across several of the things we call "protocols". The Browser just
calls them "message categories" (as opposed to "system categories").

frank

> or you can view it as services
> offered by the instances of this class...
> For example take a look at Number you have
> 'comparing', is a very generic service, so that any object can be in a set
> numbers have this property to have full order, so they offer a bit
> more than = and hash
> 'printing' a very generic Object protocol too for interacting
> (inspectors, debuggers...)
> 'arithmetic' is some more specialized service offered by numbers
> 'mathematical functions' too.
>
> If the classification helps a lot, IMHO it's not only related to the
> number of messages.
> It helps to declare/discover which service will be offered, and those
> can be completely transversal (printing vs comparing).
>
> 'private' has a value too, as there is no service to expect here...
>
> So I have to disagree. I see these as essentials.
>
> Nicolas
>
> 2013/1/30 Norbert Hartl <[email protected]>:
>>
>> Am 29.01.2013 um 16:57 schrieb Stéphane Ducasse <[email protected]>:
>>
>>> Hi guys
>>>
>>> I spend my time recategorizing methods.
>>>
>>> I would like the change the intention of 'as yet unclassified' because this 
>>> is a PLAGUE.
>>> It is like throwing papers on the floor.
>>> So we should have a different name to indicate that it should be fixed.
>>>
>>>
>>> Any ideas?
>>>
>>> 'you are a dirty programmer - change me'
>>>
>>
>> To be honest I have problems understanding why method categorization is so 
>> important. Often I don't care a single bit about categories because I don't 
>> understand them. I often categorize just to make lint happy :)
>> What is the use? Declaring usage patterns? Declaring visibility? Use as 
>> method extensions marker? 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.
>>
>> 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.
>>
>> my 2 cents,
>>
>> Norbert
>

Reply via email to