The first time I heard the methodology methodology, hurriedly went to check:
Program development methodology refers to a set of methods, processes, rules, practices, and techniques for software development, but we usually focus on the management of projects, processes and people.
First, the methodology of project management
1. Heavy-duty methods
A large number of intermediate document artifact and complex process management are stipulated, which will require the developer to submit various reports frequently, advocating the process and the effect. Often used in large projects.
2. Lightweight method
That is, agile software development, programmer-oriented, strengthen communication with customers, and so on, relatively loose, advocating the creativity of programmers.
Personally, the heavy-duty method, the programmer is a worker, the division of labor is clear, only need to complete their own part of the skill is good; in a lightweight approach, the programmer is an engineer and has a higher expectation of your play. There are too many management method variables, which varies from person to person.
II. Methodology for guiding programming
1. Test-driven development
The program development clearly needs the function, the advance design is good, takes the function which needs to test mainly, the program tries to keep can run, can debug the state. Exaggeration is the one-step test.
2. Refactoring
We have two hats: one is to improve the design of existing existing procedures without changing the function, and the other is to add new features to suit the changes in demand. At any stage, we should wear only one hat and never wear two hats at the same time. Break this change down into the smallest possible step, alternating with small steps to improve the code and new features. Improve the design of the code after it has been written.
I developed before in the test-driven development method, always wrong to change to achieve its design, feeling very depressed. This is not a bad way, different people have different tastes.
The above is a personal opinion, arbitrary criticism
Program Development Methodology