Economics Principles: The product of the same value, the lower the cost, the higher the profit. This should not say more.
The cost of software development is usually an efficiency problem. The efficiency is high, and the cost is low. Direct consequence is that software can make money. Efficiency includes two aspects:
· The performance and efficiency of software operations;
· The efficiency of the software development process.
For the back, it is obvious that the relationship between the cost is obvious. The efficiency of development process is not high, and of course, it will lead to more human or time input, thereby increasing the cost of software. For the entire software engineering control, there are high-quality management of the development process to the development process. In a relatively perfect software development process, the time ratio of the encoding should only account for the relatively small part of the whole process, but the result of the encoding is the ultimate embodiment of software results, so how to improve Efficiency is especially important, and for the coding personnel, it is a highly efficient way to make full use of existing resources.
"Existing Resources" has the internal resources and external resources: internal resources refer to the company's company or programmer's own accumulation: external resources refer to some resources other than the previous two resources, mainly the network Resources. Internal resources should be fully utilized, this should have no doubt, and if a company or individual can't make full use of the previous accumulation, it is like a bamboo basket to put water, and then strive to be an empty. For external resources, many programmers have conflict, there is such a kind of suspicion that doubt everything or empty, thinking that something should be implemented to realize their own value, and others' thoughts or code is unreliable. . This idea should still be advocated and appreciated in the process of learning and research, but it is very good during software development. In today's new months, today's increasingly fierce competition, the final result of this idea can only be eliminated. Take Delphi development, many developers have contradicts the third-party controls. In fact, think about it, sometimes it is more than a few times more efficient, which is used without third-party controls. This is spent a day time to use controls and flowers. Ten days to develop control differences. If there is a development control ability, it should also be used to modify the capabilities of others control when there is a problem (of course, the premise is the use of active files), then why don't we save time to other more What is important place? The science often has the statement of "standing on the shoulders of the giant", software development is also the same.
For "software operation performance and efficiency", it seems that there is not much relationship with the cost, but it is actually still related. I often see that some programmers write things are not realized to achieve efficiency or stability issues, or sometimes to sacrifice the performance of the program for greed, and sometimes the difference between several lines of code will lead to several or even a few times. Double performance differences), when the user is really used, because the amount of data or usage is increased, the previously accumulated problem is exposed to the user. At this time, I will not be able to rework and modify it or even all over the head. (No Pastest users I have not met now). True to develop, there should be experienced, and the amount of work rework will definitely not be lower than normal development (more no need to come back from the beginning), and because of working enthusiasm (usually modifying a positive enthusiasm is much lower than new development. The enthusiasm of a thing), etc., the efficiency will be very low, and the cost can be imagined. So do a software, not only to consider functional implementation, but also to make full consideration of performance and efficiency improvement. Of course, this is the attitude and ability of a rigorous programmer, and it is no longer more.