Note 29: Using a passed by reference variable rather than the return value of a function is not very good programming practice, in my opinion. In this respect the code generated by the Extract Method refactoring at times is far from optimal.
The issue at stake is that the Extract Method refactoring is unable to generate functions (something certainly far from trivial to accomplish!).
This blog post is part of my "113 Delphi 2007 Handbook Notes" blogging project, to promote my new Delphi book. (I missed the regular posting of these notes yesterday, so I'm catching up today.)