Teach you how to do a qualified programmer

xiaoxiao2021-03-05  29

Author: Chen Liang

Introduction: As a truly qualified programmer, or the programs that can really complete some code work, should have the quality. 1: Team spirit and collaborative ability use it as basic quality, it is not important. It is the opposite, which is the most basic and most important thing to make the programmer. Any personal power is limited, even if the genius like Linus, it is also necessary to create a miracle through the composition of the powerful team, and those masters who write cores around the world are unimaginable. Once entering the system's R & D team, entering commercial and productive development tasks, people who lack this quality are unqualified. 2: Document habits say that the high-level programmer has never written the document is definitely a bad child. Good document is a very important part of the formal R & D process. As a code programmer, 30% of working hours write technical documentation is normal. And as senior programmers and system analysts, this ratio is much higher. Lack of documentation, a software system lacks vitality, in the future, the upgrade, upgrade, and multiplexing of the module will encounter great trouble. 3: Standardized, standardized code preparation habitual variable naming, code internal annotation format, and even the length of the nesting, the number of spaces between the components, the number of spaces between the function, good preparation habits, not only help the code Transplantation and error correction also helps cooperation between different technicians. Some coding fans screamed high-level programmers write code, people can't understand, this clam can only prove themselves? The root is not claimed to be a programmer. The code has good readability and is the basic quality needs of the programmer. There is no standardized and standardized code habits, and the collaboration between R & D is absolutely unhaneous. 4: Demand-Understanding Programmer needs to understand the needs of a module, and many programmers write programs often only pay attention to a functional demand, and they are attributed to the hardware, operating system, and development environments, and ignore the performance consideration of their own code. In the performance demand indicators, stability, and access support capabilities, and security are important. As a programmer needs to assess the environment in which the module is in system operation, the load pressure and various potential dangers and malicious attacks. The possibility. At this point, a mature programmer requires at least 2 to 3 years of project research and tracking experience, it may have experience. 5: Retrieval, modular thinking ability can often hear some programmers have such complaints, wrote a few years, become a skilled worker, and repeat some new code, this is China Software talents are most wasteful, some repetitive work has become the main work of skilled programmers, and these are actually avoidable. Multiplexing design, modular thinking is to do more about any functional module or function, do not limit whether the module can be separated from this system without limitation. Can you directly reference it in other systems and applications by simple modification parameters, so you can greatly avoid the development of repetitiveness. If a software R & D unit and the working group can take into account every development process. These problems, then programmers will not delay too much time in repetitive work, there will be more time and effort to put into innovative code work. Some good program module code, even if it is written in the 70s, it is very good to be suitable as a function module in some systems, and now many software is upgraded or improved, and most of them repeat. Sexual work is unfortunately to waste time and energy, which is what we should deliberately overcome.

6: Test habits As some normalized development, the full-time test engineer is indispensable, but not to say that there is a full-time test engineer programmer can not self-test; software research and development as an engineering, A very important feature is the earlier the problem, the lower the cost of the solution, the programmer is in each code, and after each submodule is completed, you can try to make the earliest discovery and resolution of some potential problems. This has the greatest guarantee for the efficiency and reliability of the overall system construction. The test work actually needs to consider both aspects. On the one hand, it is the test of normal calls, which means to complete basic functions in normal calls, which is the most basic test responsibility, but unfortunately, in many companies, this has become the only test task. It is actually far behind; the second aspect is the test of abnormal calls, such as stability testing under high pressure load, the test in the case of user potential anomaly input, the overall system is subject to affected situation Test, frequent unusual abnormal requests to block the module stabilization test, etc. Of course, it is not a programmer to make this complete test on each code of your own, but the programmer must clearly know his code task in the overall project and various performance requirements, targetedly related tests. As soon as possible, I found and solve the problem, of course, this requires the needs of the needs mentioned above. 7: The ability to learn and summarize the programmer is very easy to be eliminated, and it is easy to lose, because a technology may only have leader in three or two years, and the programmer must constantly follow up new technology. Learn new skills. Good at learning, for any career, is the driving force necessary for advancement, for programmers, this requirement is higher. However, learning is also looking for the goal, good at summary, and is also an embodiment of learning ability. Each time a R & D task is completed, complete a code, it should be purposeful to track the application status and user feedback of the program, always summarize, find yourself Insufficient, this gradually increases, and a programmer can grow up. People with all the top quality should be said to be enough programmers. Please note that the above qualities are not determined by IQ, nor is it possible to learn from some of the university. It is only a programmer to himself. The understanding of work is a matter of consciousness. Advanced programmer, so that the system analyst, is for the designer of a program project, in addition to the above all of the quality: First, demand analysis capabilities For programmers, understand demand You can complete the qualified code, but for the organization and managers of the R & D project, they must not only understand the customer's needs, but also make some needs, why do you say this? In general, the R & D task is performed, perhaps the customer's demand, perhaps the demand proposed by the market and marketing department, this time for the R & D department, they are not a complete demand, usually, this demand is only some of the functions The requirements, or more or more, it is possible to get a complete user view; but this is not enough, because the customer may make it difficult to make complete and clear, or professional performance requirements due to non-technical factors, but Project organizers and planners, he must be able to recognize the existence of these needs and appropriate proposals when completing the needs analysis report, while the complete and clear reflection is in the design manual, so that the programmer is not lost when the programmer encodes These guidelines.

The program designer must correctly understand the environment in which the user needs, and the analysis of demand, for example, the same software issued and released through the ASP lease, and the performance requirements may be different, the former emphasizes It is better support capabilities and stability, and the latter may emphasize the universal and installation use of universality and installation in a variety of platforms. Second, project design methods and process processing capability programming must be able to master a project design method of not less than two to three (such as design methods, such as rapid prototyping, etc.), and can be based on project requirements And resource matching to select a suitable design method for overall design. Improper design methods will delay the R & D cycle, waste R & D resources, and even affect the research and development effect. A program designer also needs to use a lot of effort to use the flowchart design and processing, and he needs to do data flow diagrams to establish a data dictionary; he needs processing logic flow diagrams to form an overall system processing process. A system with a problem with a problem, even if the code is more beautiful, each module is exquisite, and it will not become a good system. Of course, do process analysis and choose a good project design method, you need to have sufficient grasp on demand analysis capabilities. Third, reuse design and modular decomposition capabilities seem to be old-tonghua, do you have explained this problem in front of the basic quality? As a programmer engaged in module tasks, he needs to consider the reuse of the specific function module he faced, and as a system analyst, he has to face more complicated, need to follow the whole system according to one Modular analysis capability is broken down into many reused functional modules and functions and forms an independent design requirement for each module. For example, it is like automobile production. The earliest installation is installed independently, and each component is tailored, but it will not be the same, the machine is produced, and a bus factory begins to produce a car. The independent component begins with certain reuse. In the later standardization, the automotive parts of different models, brands, and even different manufacturers can also perform convenient dressing and upgrading, this time, the efficiency of automotive production maximizes. Software engineering is also the same, a mature software industry, in some related projects and systems, different components can be discouraged, such as Many desktop software of Microsoft, in many operating modules (such as opening files, saving files, etc. Wait, it is a multiplexed function module, and these interfaces are provided to desktop application developers convenient to hook through some class libraries, which is a significant agreement for multiplexing module design. Decompose a large, intricate application system into some relatively independent, highly reused, and can only rely on several parameters to complete the data connection module combination, is the most important as senior programmer and system analyst Work, suitable project design methods, clear flow charts, is an important guarantee for achieving this goal. Fourth, the overall project assessment capability is a system designer, must be able to start from the whole, clear understanding of the project, such as whether the company's resource allocation is reasonable and in place, such as whether the project schedule can maximize the efficiency and not Complete on schedule. Evaluate the overall workload of the project and various modules, assess the resources required for the project, and the difficulties may encounter in the assessment project, it requires a lot of experience accumulation, in other words, this is a realm of continuous summing. The leaders in the Western software system design are very old, such as 4, 50 years old, even older, they are far less than the young people in the coding, but for decades for the project assessment The experience accumulation is the most important and valuable wealth.

转载请注明原文地址:https://www.9cbs.com/read-35008.html

New Post(0)