[BangPypers] refactoring

Santosh Rajan santrajan at gmail.com
Sat Dec 4 13:06:30 CET 2010


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.

Refactoring may be useful in cases where bespoke development is done
using inexperienced programmers, in which case you will of course have
to do refactoring.

Also I would like to say that I am not trying to be harsh on any
viewpoint and my apologies if I came through that way.


On Fri, Dec 3, 2010 at 3:34 PM, steve <steve at lonetwin.net> wrote:
> Hi,
>
> Just a note in sideways, about my own experience and opinion on this topic
> ...
>
> On 12/01/2010 04:33 PM, Kenneth Gonsalves wrote:
>>
>> hi,
>>
>> I know that this has cropped up in a parallel thread, but anyway I would
>> like a new thread on this. In a LUG list a ruby guy made a statement
>> that 'No self respecting developer could function without having read
>> the refactoring book'. How relevant is this to python? I do not see much
>> except years ago something called bicycle repair man - is that still
>> used? or is this whole thing buzz?
>
> I've been fortunate enough to work with people who employ one or more of
> these 'good programming', 'agile' methods to become efficient in the
> day-to-day 'engineering practice' of programming (as opposed to talking
> about it like high nose evolved computer science or using it in a throw away
> manner for 1 project for the sake of curiosity / demonstration).
>
> So, I have learned to understand, appreciate and use things like TDD, CI and
> perform refactoring without ever reading one book on these things. I am
> sure, I'll better understand them if I did read the books but at the end of
> the day unless you use these techniques in your regular day-to-day work
> without employing short-cuts when they become inconvenient, it really just
> is mental masturbation.
>
> Coming to refactoring in particular, in the terms that Fowler defines it, I
> think it is just formalization of common sense that most good programmers(*)
> already are intuitively aware of. I would risk a guess that the person in
> this thread who asserted "A self respecting developer will NOT need to
> refactor his code in the first place." is just as inexperienced in 'real
> world' projects as the original person who said "No self respecting
> developer could function without having read the refactoring book" -- either
> of these views are extremely sweeping generalizations about the practice of
> programming. They are typical of people who've not faced fast approaching
> deadlines, while dealing with large code bases with evolving requirements,
> eventually led by PHBs or clueless customers.
>
> Most good engineering practices get thrown out of the window under pressure.
> The advantage of some of these techniques is to minimize the effect of this
> reality (for eg: using TDD and CI) and also make it easier get back on track
> once the pressure eases (for eg: using refactoring) <-- real world
> experience speaking !
>
> cheers,
> - steve
>
> --
> random spiel: http://lonetwin.net/
> what i'm stumbling into: http://lonetwin.stumbleupon.com/
> _______________________________________________
> BangPypers mailing list
> BangPypers at python.org
> http://mail.python.org/mailman/listinfo/bangpypers
>



-- 
http://santrajan.blogspot.com


More information about the BangPypers mailing list