Refactoring in Tunes

Jecel Assumpcao Jr. jecel@tunes.org
Sun, 9 Jan 2000 11:19:11 -0200


Just a few quick comments:

1) the "extreme programming" recomendation for information about factoring is a
very good one - there is also http://www.extremeprogramming.org

2) refactoring is one of the main skills of a good programmer (the others I
have identified are generalization, creating algorithms and being able to
decompose systems into objects - http://www.lsi.usp.br/~jecel/tut1.html) so
this is a very important issue

3) it is *much* easier to refactor programs in Self 4 (now available for the
Mac!) than in Smalltalk. While differences in the language help a little, it is
mostly a matter of programming tools (a simple drag of the mouse will radically
change the inheritance tree in a compatible way)

4) abstract types (message set compatibility - interfaces in Java) don't get in
the way of refactoring, but concrete types (implementation details) do, so
languages that mix them up (like C++) will make refactoring harder than those
that don't (Self/Smalltalk)

5) Ivan Moore created a tools, called Guru, which would automatically refactor
applications written in Self 3 (it can't find any links to this - this pages
only lists his email address:
http://www.sun.com/research/self/other-projects.html)

Regards,
-- Jecel