Principles of Economics:For products of the same value, the lower the cost, the higher the profit. This should be unnecessary. The cost of software development is usually an efficiency problem. The efficiency determines the cost. The direct consequence is whether the software can make money. Efficiency includes two aspects: · Performance and efficiency of software operation; · Efficiency in the software development process. For the next point, the relationship between it and the cost is obvious. If the development process is inefficient, of course, it will lead to more manpower or time investment, thus increasing the software cost. For the entire software engineering control, it is required that a well-experienced person should manage the development process with high quality. In a perfect software development process, coding takes up only a small portion of the entire process (one to two ), however, the coding result is the final embodiment of the software result, so how to improve efficiency is particularly important. For the coding personnel, making full use of the existing resources is an efficient method. "Existing resources" can be divided into internal resources and external resources: internal resources refer to the accumulation of the Company or programmer of the developer: external resources refer to resources other than the previous two types of resources, mainly the various resources on the network. There is no doubt that internal resources should be fully utilized. If a company or individual cannot make full use of the previous accumulation, it will be like a basket of water. For external resources, many programmers conflict with each other because they have a subconscious that doubts everything or has nothing to do. They think that everything must be done by themselves to reflect their own values, others' thoughts or codes are unreliable. This idea should still be worth advocating and appreciated in the process of learning and research, but it is very undesirable in the process of software development. In today's ever-changing technology and increasingly fierce competition, people with such ideas can only be eliminated. Taking Delphi development as an example, many developers are in conflict with third-party controls. In fact, when using third-party controls, the efficiency may be several dozen times different, this is the difference between using controls in one day and developing controls in dozens of days. If you have the ability to develop controls, you should also be able to use controls and modify others' controls in case of a problem (the premise is to use controls with source files ), so why don't we save time and focus on other more important aspects? In science, there is often a saying that "standing on the shoulders of giants". The same is true for software development. For "performance and efficiency of software running", it seems that it has little to do with the cost, but it still has to do with it. It is often seen that some programmers do not realize the efficiency or stability issues at all, or sometimes the performance of the program is sacrificed for the sake of greed, convenience, or rush (sometimes the difference between several lines of code will lead to several or even dozens of times the performance difference ), when the user is actually using the data volume or usage frequency, problems accumulated in the past will be exposed to the user one by one, at this time, we will inevitably need to rework and modify the changes, or even overwrite them all from the ground up. (I have never met any unpicky users yet ). We should all have experiences in development. The workload of rework and modification will never be lower than that of normal development (not to mention starting from scratch ), and because of work enthusiasm (usually the enthusiasm for modifying a thing is much lower than the enthusiasm for developing a new thing) and other issues, the efficiency will be very low, and the cost will be imaginable. Therefore, to build a software program, we should not only consider the implementation of functions, but also fully consider the improvement of performance and efficiency. Of course, this is the attitude and ability that a rigorous programmer should possess. I will not talk about it here. Source: original users Release date: 2007-1-23 |