[Pharo-dev] Lowering the pain of newbies

Esteban A. Maringolo emaringolo at gmail.com
Mon Aug 21 15:32:29 EDT 2017

2017-08-21 15:39 GMT-03:00 Peter Uhnák <i.uhnak at gmail.com>:
> I'd prefer to not use `setName:` nor `setClassName:` as `setX:`/`setX:Y:` is
> often used as a constructor initialization pattern (as per Kent Beck's
> Smalltalk book).

I use setX: with the same purpose, as per the same book recommendation.

But isn't #name: (or #setName:) in Class used in the context of
initialization only?

> Maybe `changeNameTo:` to explicitly state the intent?

Although I don't like the "change" prefix when it's a one way
operation, that selector is unambiguous as it gets.

>> It indirectly becomes some sort of "reserved word" of the language.
> Class has many such methods (and I've destroyed my image many times before I
> subconsciously learned to avoid them), but only name tends to be problematic
> so introducing "special" methods for meta methods seems pointless, as a
> person doing metaprogramming would (must) take the care anyway to
> distinguish on which side they are working on.


Esteban A. Maringolo

More information about the Pharo-dev mailing list