Reading the book prefactoring.

Source: Internet
Author: User
I am reading prefactoring recently. I would like to recommend that you have downloaded an electronic version of the work that shocked the big prize at the jolt award. I will discuss it later.
The main point of this book is to organize the guidelines for development projects based on your or others' years of software development experience, so as to facilitate future project start as the principle to follow. The difference between it and refactoring lies mainly in the execution time. prefactoring is the first thought before the project starts, not during project execution. Book reviews

Since Martin Fowler's work in 1999, refactoring seems to have become an important concept for improving software quality, refactoring during project execution is hard to be allowed. From the perspective of project management, it takes time and money. Therefore, in terms of architecture design and program writing, such concepts are relatively ignored, and program developers also operate with the idea of "just developing functions.

Refactoring is easier to implement in software product R & D and in version update planning. However, the product planning schedule does not necessarily allow refactoring because refactoring does not change any external functions; customized customized software projects based on customer demand, and even cases involving system integration, are even more difficult to implement restructuring in the project.

Accumulating preventive experience helps future project development

Since refactoring is not easy to implement, prefactoring may be an alternative solution. Based on years of software development experience of the user or others, the author Ken put forward this idea to organize the guidelines for the development of projects so as to facilitate the implementation of the project in the future. The difference between it and refactoring lies mainly in the execution time. prefactoring is the first thought before the project starts, not during project execution.

Most of the guidelines here are in line with general basic design principles (such as the characteristics of OOAD), while other guidelines mainly focus on extreme abstraction action ), design separation (extreme separation), provides the readability (extreme readability), and interface design (interface.

Abstract Design is already an important concept in object import analysis design. It emphasizes "what" rather than "how )」. Therefore, in this process, it is difficult to understand the details of the implementation, which may lead to a gap between the implementation (realization) of the analysis phase and the design phase. To address this problem, we recommend that you use prototype in abstract design, and use a method unrelated to a specific language in the design process, the standard principles of OOAD (such as class, interface, and exception) are used for design.

The most common way to separate the design is to present the operating image and the business logic and perform their respective duties with different components. In the future demand changes, it will not trigger the whole body; In order to facilitate future maintenance, the program code written should not only be visible to the computer, but also be easily understandable. This book suggests that the ideal program is to be well understood by your customers.

Prebuild emphasizes software development process and method

The content of this book is divided into 17 chapters. The author uses the virtual story of developing a CD rental store system as the main axis to illustrate the things that have come upon a software project. Kicong explained prefactoring's concept and its basic policy in plain Plain sense. Then he started to talk with Sam, the boss, about what his ideal system should look like, from time to time, the text is interspersed with conversations between the main character and the customer, as if you were communicating and interacting with the customer.

To precisely understand what users are thinking, first clarify the explicit description of words (Definitions of cdtitle, cdrelease, and cddisc have aroused some controversy), and then classify and summarize the relevant words, it is designed by converting to an object. The Avatar is discussed in some common object design principles, such as polymorphism and abstract data type, and even directly uses a prototype system) to confirm the correctness of the requirement content with the user.

Although the design must adhere to the theory, there are still situations that cannot be implemented. The cause may be the inconsistency with users' ideas and misunderstanding of things. However, these software development guidelines are not a standard answer, just like driving a car. Everyone has their own style. What's important is that they can solve similar problems quickly and effectively. In addition, each criterion has an appropriate time to use, not in any situation.

From the perspective of this book, we are still emphasizing the importance of software development processes and methods. In each chapter, the author reminds the important points to be emphasized in the form of a motto, and sorts out all the principles in the appendix at the end of the book. If you understand the importance of object-oriented analysis design and want to save time and money on projects, this book may provide some ideas, although it cannot be guaranteed that refactoring is not required, however, the decrease in the number of times is certain.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.