>> but I have 103 send of methodDict in my image 
>> 
> Yes, I am slowly removing them, but that takes time (I removed quite a lot 
> over the last months! A *lot*!)

Ok excellent I did not know that.

> I even added a lint rule detecting calls to #methodDict.
> 
>> So I do not get it and personally I would not deprecate methodDictionary and 
>> I would remove 
>> methodDict because it sucks!
> 
> methodDict should *never* be used from the outside. It’s far too easy to get 
> problems because you modify the dictionary
> without e.g. invalidating the VM cache or telling the system.
> 
> And it gets *much* easier to read:
> 
> methodDict values —> methods
> methodDict keys —> selectors
> methodDict size > 0 —> #hasMethods
> and so on… it’s amazing how much more readable code gets.
> 
> So why do we provide a “nice” selector “methodDictionary” if this is a 
> private accessor for internal state?
> If we do that it communicates “use me”! And you should not. If you want to 
> use it, you know what you are doing
> and you know #methodDict.

I disagree here. In that case we should start using vv jyv jvzxxx.
We should put the method in a private category and we should add a comment.

> And if people use it, the #methodDict is so deep in the brain of people that 
> they never used #methoDictionary
> (there where maybe 5 senders…).

Still I would rename it.

Stef

Reply via email to