2017-08-21 15:39 GMT-03:00 Peter Uhnák <i.uhnak@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.
+1 Esteban A. Maringolo