Some people told me that since there is a test department for software quality testing, there is a performance guarantee team to test and improve product performance, then what is the significance of our code spot check? I told him that the meaning of code spot check is not letting you help to find Bug, but from a fair position, with a sampling concept, to evaluate the code quality of the current actual product, thus providing decision-making recommendations to management to prevent micro-teduration Keep the continued maintainability of the product.
The software has a problem of life cycle maintenance, the more large products, the more you need to strengthen the quality control awareness during product development. It should be clear that software tests are just issues from external discovery functionality or user experience. The internal quality of the software needs to be improved from the inner quality of each developer.
With my experience, the software of a thousand row of code, if there is no good mechanism in the development of this product, there is no good implementation of internal quality control, such a size of the software is a disaster Sexual. The reason is very simple, the code has passed through many people, and it is not treated according to the standard, and its appearance is not. Such software, the cost of its maintenance will climb the size of the scale, and the straight way is unbearable, and it needs to end its life cycle.
What mechanism can ensure internal quality of the software? I think we need to consider three aspects.
The first aspect is to strive to improve the quality of developers. Although the current integrated development environment has become more and more powerful, it is possible to improve the code normative. However, it should be seen that the final maintenanceability of the code is still needed. The structure of the code and the elegance of the aesthetic sense require experience. How to improve the capabilities of developers and enhance their experience? In this regard, there are many can do, I think a high standardization level, training and learning mechanism is sound, and companies that have accumulated rich in knowledge will undoubtedly cultivate more Coders that can write "elegant code".
The second aspect is to have mechanisms to continue to review the internal quality of the software. "Code Audit", which is gradually being summed, is a good technology. Why must you stress continuity? Because the internal quality control itself is itself a thing that is accompanying the software life cycle. Therefore, the sooner this mechanism, the soon, and gradually improve it, the better the effect. I generally recommend building this audit mechanism in Japanese construction. Such benefits are obvious, continuous, fair, disclosed, as long as management is valued, the internal quality of the entire code is, it is easy to generate actual execution. In addition, it is also important to establish a good peer review and code spot check system. Some problems may automate the audit of unstoppable, which requires people's "fire-eye gold" to help.
The third aspect is from the architecture design, using its own framework, minimizing code that requires artificial written code and strives to develop the abstract level of the tool. For example, the current MDA technology is a good direction. For a software company, my experience will think that efforts have made the most core code to maintain the core people, so that the fundamental of long-term maintenance software "elegant". How to make the core code let the core people to maintain? On the one hand, it is necessary to pay attention to the allocation of resources; on the other hand, let the core code is solidified in the tool or framework, and the code can be multiplexed by the tools, and the high-quality code can be multiplexed. 2004-12-23Cloudward in Shenzhen