Download Refactoring Improving the Design of Existing Code PDF Book by Martin Fowler . Soft Copy of Book Refactoring Improving the Design of Existing Code author Martin Fowler completely free.
Reviews of : Refactoring Improving the Design of Existing Code by Martin Fowler PDF Book
Inside this Book – How do I begin to write about refactoring? The traditional way to begin talking about something is to outline the history, broad principles, and the like. When someone does that at a conference, I get slightly sleepy. My mind starts wandering with a low-priority background process that polls the speaker until he or she gives an example. The examples wake me up because it is with examples that I can see what is going on. With principles it is too easy to make generalizations, too hard to figure out how to apply things. An example helps make things clear. So I’m going to start this book with an example of refactoring. During the process I’ll tell you a lot about how refactoring works and give you a sense of the process of refactoring. I can then provide the usual principles-style introduction. With an introductory example, however, I run into a big problem. If I pick a large program, describing it and how it is refactored is too complicated for any reader to work through. (I tried and even a slightly complicated example runs to more than a hundred pages.) However, if I pick a program that is small enough to be comprehensible, refactoring does not look like it is worthwhile. Thus I’m in the classic bind of anyone who wants to describe techniques that are useful for real- world programs. Frankly it is not worth the effort to do the refactoring that I’m going to show you on a small program like the one I’m going to use. But if the code I’m showing you is part of a larger system, then the refactoring soon becomes important. So I have to ask you to look at this and imagine it in the context of a much larger system.
Inside this book –Refactoring Improving the Design of Existing Code PDF Book by Martin Fowler – By now you have a good idea of how refactoring works. But just because you know how doesn’t mean you know when. Deciding when to start refactoring, and when to stop, is just as important to refactoring as knowing how to operate the mechanics of a refactoring. Now comes the dilemma. It is easy to explain to you how to delete an instance variable or create a hierarchy. These are simple matters. Trying to explain when you should do these things is not so cut-and-dried. Rather than appealing to some vague notion of programming aesthetics (which frankly is what we consultants usually do), I wanted something a bit more solid. I was mulling over this tricky issue when I visited Kent Beck in Zurich. Perhaps he was under the influence of the odors of his newborn daughter at the time, but he had come up with the notion describing the “when” of refactoring in terms of smells. “Smells,” you say, “and that is supposed to be better than vague aesthetics?” Well, yes. We look at lots of code, written for projects that span the gamut from wildly successful to nearly dead. In doing so, we have learned to look for certain structures in the code that suggest (sometimes they scream for) the possibility of refactoring. (We are switching over to “we” in this chapter to reflect the fact that Kent and I wrote this chapter jointly. You can tell the difference because the funny jokes are mine and the others are his.) One thing we won’t try to do here is give you precise criteria for when a refactoring is overdue. In our experience no set of metrics rivals informed human intuition. What we will do is give you indications that there is trouble that can be solved by a refactoring. You will have to develop your own sense of how many instance variables are too many instance variables and how many lines of code in a method are too many lines. You should use this chapter and the table on the inside back cover as a way to give you inspiration when you’re not sure what refactorings to do. Read the chapter (or skim the table) to try to identify what it is you’re smelling, then go to the refactorings we suggest to see whether they will help you. You may not find the exact smell you can detect, but hopefully it should point you in the right direction.
Refactoring Improving the Design of Existing Code by Martin Fowler PDF : eBook Information
- Full Book Name – Refactoring Improving the Design of Existing Code
- Author of this Book – Martin Fowler
- Language – English
- Book Genre – Non-Fiction, Science, Programming, Software, Technical
- Download Format – PDF
- Size – 1.9 MB
- eBook Pages – 337
- Price – Free