On Sun, Dec 5, 2010 at 11:39 PM, steve <st...@lonetwin.net> wrote: > I had sent this reply below earlier ...not sure why it didn't go thru' > ...anyways, enough has already been said about this, however, since I > already wrote this reply below, I thought I might as well make my point ... > > Hi Santosh, > > On 12/04/2010 05:36 PM, Santosh Rajan wrote: >> >> My 2 cents on this subject. I think the problem of differing >> viewpoints is mainly due to the fact that there are two kinds of >> software development. >> >> 1) Software product development >> 2) Bespoke software development. >> >> Let us look at software product development, and let us look at all >> the top open source software development projects like linux, apache, >> mozilla etc etc. I have not seen refactoring as described by the book >> used by any of the open source software products. I would like to know >> if any one can show me refactoring used in software product >> development. >> > > The very nature of Open Source Software development model is refactoring ! > It isn't called that but that's what it is. Try to describe the process of > FOSS development and then the way code is affected by refactoring and you > would see the similarities. The only difference is in FOSS projects this is > done by separate individuals in an unplanned manner -- the net effect from > the /code's/ perspective though is that is being refactored. I'd go as far > as saying that patches which refactor existing code in mature FOSS products > are as at least the same in number as those that introduce new features.
My thoughts (not for or against, but just to add to this thread): - the license of the code doesn't really matter. There are lots of software that we've contributed to as well as developed at Thoughtworks, and we give the same level of attention (including refactoring, testing, CI, etc) regardless of the license. This is true of other companies, and individuals as well. - refactoring need not become a bad word just because some book documents various known refactoring techniques. Martin Fowler is a very, very humble person. I spent the past three days with him hearing him talk to various Thoughtworkers in Bangalore, and he's very honest about giving credit where it's due. If you read his Refactoring book, he's very clear there that these are various techniques that he's observed everyone around him use, and he's simply explained a number of them in very layman terms so that all can understand these together. Let's the case of something like "Extract Method". It's very likely that over a period of time, a developer would notice that a method could be spilt up into smaller logical private methods so that the intent is clear to the reader as well as more maintainable. This technique may be given the name "Extract Method". And this technique has been applied by all programmers in so many languages. Applying a refactoring does not make us any less a programmer, and this activity need not become an insult. Reading a book that documents various such techniques could be considered a nice refresher even. Speaking about myself, I wouldn't stay away from a book just because someone declared that if one has self-respect, one would read that book. Such a statement need not be an insult. Finally, the loss (in terms of missed opportunity) would be one's own. Refactoring could be applied to any language, regardless of whether it's Object Oriented or not. > > cheers, > - steve > > -- > random spiel: http://lonetwin.net/ > what i'm stumbling into: http://lonetwin.stumbleupon.com/ > _______________________________________________ > BangPypers mailing list > BangPypers@python.org > http://mail.python.org/mailman/listinfo/bangpypers > -- ================== Belenix: www.belenix.org _______________________________________________ BangPypers mailing list BangPypers@python.org http://mail.python.org/mailman/listinfo/bangpypers