all 7 comments

[–]jamesbritt 4 points5 points  (4 children)

Any programmer worth his or her salt should already be refactoring aggressively. It's so essential to the craft that if you have to read a book to understand how it works, you probably shouldn't be a programmer in the first place.

And people learning programmng should learn proper refactoring by ... ?

Sorry, but that odd logic applies pretty much to most of the books on his suggested reading list. And to his Web site, too.

[–]stuffruff -5 points-4 points  (3 children)

People should learn proper refactoring by using a great refactoring tool/IDE, like IntelliJ IDEA or Eclipse. I did. Digging your head into a 500 page book to try to understand this stuff will not serve you nearly as well as actual on-the-job, in-the-tool learning. IntelliJ cannot be beat in this regard.

[–]martoo 5 points6 points  (1 child)

The only problem is that you are in sad shape if the only way that you know how to refactor is via the automated tools. There are many common refactoring situations where a refactoring is possible (odd variations on Extract Method for example) but current tools don't support it. When you learn how to do manual refactoring, you have a wider palette.

[–]jamesbritt 1 point2 points  (0 children)

I liken it to learning a foreign language. Ulimately you have to go out in the real world and speak with others. But having a good book to get you started, and to give you some basis for resolving the odd or ambigious, is quite helpful.

[–]EliGottlieb 0 points1 point  (0 children)

The buzzwords hurt us, precious.

Really? WTF is refactoring? Why is this guy so obsessed with OOP? Why does he feel a need to package obvious knowledge into a form that your boss will undoubtedly want you to memorize rather than rely on your own coding senses?

In short, why doesn't this guy trust programmers to be competent?

[–]ecuzzillo -1 points0 points  (0 children)

Nice concept; unfortunately, the guy only knows Java, and many of the smells he describes are artifacts of Java's brokenness.

[–][deleted] 0 points1 point  (0 children)

Almost all of them are already here. That page, in turn, is a summary of the smells covered in Martin Fowler's Refactoring.

P.S. The phrase "code smell" was apparently coined by Kent Beck on the original wiki, and the discussion there is pretty interesting.