Real programmer (reposted)

xiaoxiao2021-03-06  32

The following article is transferred to Netease

Advice to programming enthusiasts

There are many people who have recently been asked me to learn VB or learn C, and some people ask which of the VC and C Builder, and some people say that as long as it is object-oriented, it is good, so the most promising, and Java. With the experience of computer education for many years, I have to tell these programming enthusiasts. If it is just a pursuit of the so-called state-of-the-art programming language (in fact, there is no optimal), and ignoring the programming ideas and basic knowledge is undoubtedly committed. Learning programming taboo.

Take the object-oriented, people mention it, it is full, but how many people understand what is object-oriented, I think if there is no real project, it is difficult to understand its superiority. , This is not to be able to master by learning C or Java. What I mean is programming is the idea rather than a language. This is the reason why the computer majors should open "algorithm analysis" and "data structure". If a drill is unable to make self-ended, it is suspected to be self-contained, bind his own thoughts. Playing a bad thing is a programmer's work nature and migrant workers have nothing to do. It is only in the bar, and the real computer talent should be a designer and engineer.

Now some excellent computer works are some experts engaged in biological, chemistry, I think this is because they haven't studied computers before, and they are not bound by some traditional views. From macro look, Instead, there is a breakthrough in the ideology, which is worth thinking.

Real programmer (reposted)

As a truly qualified programmer, or you should have a programs that can really complete some code work.

1: Teamwork and collaboration

As a basic quality, it is not important. It is the opposite of it. This is the most basic and most important thing for programmers. The high-level programmers said that they are all in the words. Any individual's power is limited, even if the genius like Linus, it also needs to create a miracle through the composition of the powerful team, and those who write core around the world. Masters, there is no collaborative spirit is unimaginable. Salers can make some small software to make money, but once entering some large-scale R & D teams, entering commercial and product development tasks, people who lack this quality are completely unqualified.

2: Document habits

It is definitely a high-level programmer who never writes a document. Good document is a very important link in a regular research and development process. As a programmer, 30% of working hours write technical documentation is normal, and as a senior Programmer 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 habits

As the rules of some foreign well-known software companies, the variables of the code, the code within the code, even the length of the nesting, the length of the nesting, and the number of spaces between the function and the function of the function are clearly stated, and good writing habits, not only helps the code. Transplantation and error correction also helps collaborate between technicians.

Some coding fans screamed high-level programmers wrote that people never understand, this clam can only prove that they do not match the programmer. The code has good readability and is the basic quality needs of the programmer.

Look at the entire Linux construction, there is no normalized and standardized code habit, and global research and development collaboration is absolutely unimaginable.

4: Demand understanding

The programmer needs to understand the needs of a module. Many children write programs often only pay attention to a functional demand. They all overcome the performance indicators in the hardware, operating system, and development environment, and ignore the performance consideration of their own code. Some people have said to write An advertising exchange program is very simple. This person never know how to achieve the performance indicators in millions or even orders of visits, for such programmers, you give him a deep blue system, he does not do Out of the Taiji chain and visits. In the performance demand indicators, stability, and access to 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. 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

I can often hear some programmers have such complaints, I have written a few years, turned into a skilled worker, and I repeatedly write some code without any new intentions. This is actually the largest waste of Chinese software talents, some repeatability The work has become the main job 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, get it in some system as a function module, and now I see, many small company software is upgraded or improved. All code rewrites, most repetitive work is unfortunately waste time and energy.

6: Test habits

As a result of some commercial formalization, the full-time test engineer is indispensable, but it is not to say that there is a full-time test engineer programmer can not self-test; software research and development as an engineering, one is very Important Features is that the earlier the problem, the lower the cost of solving, the programmer is in each code, after each submodule is complete, you can try to discover and solve some potential problems, so The efficiency and reliability of the overall system construction have the greatest guarantee.

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, and user potential abnormal input emotions, the overall system local fault is affected by the module 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: Ability to learn and summarize

Programmers are very easy to be eliminated, and it is easy to lose their profits, because a technique may only have leadership within three or two years, and the programmer must constantly follow up new technologies and learn new skills.

Good at learning, for any career, is the driving force necessary for advancement, for programmers, this requirement is higher. But learning is also looking for a target, some small Coding fans, they also listen to their learning ability, I will learn ASP, I will learn PHP for a while, and I will learn JSP for a while, they will show this capital, blindly Chasing some superficial, surface things and nouns, doing network programs, do not understand communication transfer agreements, doing applications do not understand interrupt vector processing, such technicians, no matter how many so-called new languages ​​have been mastered, never have quality improve. Good at summary, is also an embodiment of learning ability. Each time a R & D task is completed, complete a code, you should track the application and user feedback of the program, always summarize, find your own shortcomings, this is gradually improved, one Programmers can grow up. A programmer who does not have growth, even if it looks at it, it is recommended to use it, because he is still arrived. 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

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

New Post(0)