1. Life-long Learning. Even if you have more than 10 years experience programmer, you have to be energetically to learn, because you are on the computer that is full of a creative field, every day there are many, many new things there. You need to keep up with the times. You need to learn a new programming language, and to understand the development of the programming language, as well as some programming framework. The industry needs to go read some news and some popular community to participate in online discussions, so you can appreciate and understand the whole software development trends. In China, some well-known communities, such as: CSDN, ITPUB, CHINAUINX, etc., in foreign countries, it is recommended you always on a BLOG on digg.com to see a variety of polymerization.
2. To master languages. Programming language is always the most suitable areas. When you are faced with the need to address the problem, you need to find a most suitable language to solve these problems. For example, if you need performance, may be C / C + + is the preferred, if you need cross-platform, Java is the first choice may be, if you write a Web on the development process, then PHP, ASP, Ajax, JSP may be your choice If you want to deal with some text and interact with other applications, it may Perl, Python would be the best. So, spend some time to explore what you and others familiar with the programming language that allows your eyes widened, because you are armed better, do you think problems will be more comprehensive, which for themselves and their projects will have a good帮助.
3. Rational face different operating systems or technology. Programmers are always have their own unparalleled technology and operating systems in mind, some people like Ubuntu, some people like Debian, there's people like Windows, and FreeBSD, MacOSX or Solaris and so on. Look at my BLOG (http://blog.csdn.net/haoel) in the essay "In fact, Unix is very simple," reply you will know after the programmers in the maintenance of loyalty from his own share of love when the attachment of the . Only some of the best programmers to understand the advantages of different operating systems and the strengths and weaknesses, so that when the selection in the system can be truly objective and impartial, and not let emotions affect their own. Similarly, language is the same, there are too many programmers always like to dwell on the comparison of language, such as: Java, and Perl. Which is not the programmer just a half-baked arguments to a similar subject? For example VC + + and Delphi and so on. Debate these things only show that their superficial and Fuzao. Excellent program and will not be persistent in these, but can a rational analysis and arguments carefully to face and thus be able to objectively make the right choice.
4. Do not own box in a single development environment. Once again, as mentioned above, each programmer has their own love of loyalty tools and techniques, and some prefer the old (for example, I like Vi editing program), while others like the new, or Emacs, etc. For example gedit. Some prefer to use the same as VC + + debugger, but I prefer to tune in GDB command line type device. And so on and so forth. What kind of programmers in the use of tools of the controversy still small? Everywhere ah. What kind of tools have been used does not matter, as long as you can be better and faster way to achieve your objectives. But one thing is good programmer should know - that is, should go to try another work environment. There is no comparison, you never know who is good who is not good, you never know what you do not know.
5. Use the Version Manager tool to manage your code. Do not tell me you do not know the source code version management, team development, if you do not release the source code management system, then I want to tell you that your software is still in the Stone Age. Now you can use a layout of this management tool bar. CVS is a version of the tool looks unremarkable, but it is the most widely used version control systems, Subversion is an upgraded version of CVS, which is beginning to take over the CVS territory. Git is a different version of the management tools. There are Visual SourceSafe, etc.. What kind of version of the use of management tools rely on your team's size and geographic distribution, you may be being used is not the most efficient or the most efficient tool to manage your source code. But a good programmer will always be to use a source code version management tools to manage their own code. If you want me to recommend one, I recommend you use the open source Subversion.
6. Is an excellent team member. Unless you like to solo, unless you are a lone hero. But I want to tell you, today, may not have a mature software is that you can do to a person, you may be your best team to take a big cow, but that does not mean you're a good team member. Your ability to put a team can only begin to Shi. You and your team members to exchange in the polite do? Do you regularly communicate with them, and everyone likes to discuss issues with you? Think of a football bar, you are a good member of this team do? When people see you on the floor of the running, when people see your pass and catch, and steals, can be encouraged by the do?
7. Put your work into a document. This article of course, include written comments in the code, but that was just not enough, you also need to do more. Have a good style of code is a comment the basis of the document he was able to give you and your team an easy to understand your intentions and ideas. Written document, not just afraid that we forget the idea at the time, but also a team of off-line communication methods, but also a knowledge transfer method. A record of everything you know is a good habit. Because I believe you do not want others to always be in your busiest times to interrupt you to ask questions, or you are on vacation when the company received a call to ask your question. And you always guarding your own things, if the result can only be so long mired in your own piece of something inside, and you can not do even more things to this. Including the upward promotion. You might think that the "Church of apprentice starved to death can be the master," but I tell you that you will let you lose more conservative and better things, please believe me, I am not here sensational.
8. Note that the backup and security. Perhaps you think this is a "nonsense", you have to understand the importance of backup. However, I still wish to make here, things we lost a part of life, you always throw things, this point you will never not be avoided. For example: Your laptop was stolen, your hard drive is damaged, your computer viruses, and that your system has been invaded, and even the whole building burned, and so on and so on. So, do the backup job is very, very important thing, the hard disk can not be trusted, so the regular CD-ROM or tape recorder may be a good way, the network is unreliable, so be careful of viruses and hackers, not only use the software aspects of security policy, you need a sound management system. In addition, as much as possible so that your data in different places, and do a good job on a regular basis (daily, weekly, monthly) backup strategy.
9. Designed to be flexible enough. Maybe you need only ask you to achieve a dead thing, but you, as a good program, you should always be thinking about whether or not what this death can have a flexible side, such as some parameters can be configured into, and the the formation of some common things to your library for later reuse, the availability of plug-in function? Your module whether they want to like the same random combination of building blocks? If you have modified, you can immediately deal with whether the design? Of course, the flexible design may not want you to re-invent the wheel, you should try is to use the standard things. If the design of the so-called soul is to get beyond the need to consider more things, the demand for this type of issues are taken into account, rather than just processing requirements stated in that particular thing. For example, the need to require screen resolution of 800 × 600, then your design flexibility of the other resolution? Program design always requires us to deal with different environments, and future trends. We need a dynamic vision to think, rather than disregard the changing circumstances. Perhaps one day you do today to write programs portable to other environments should go, that time you can really understand what is a flexible design.
10. Do not shooting itself in the foot. Programmers always have a bad habit, that is always trying to hurry to complete their task at hand. But this is often a matter has been willing to violate. Want to do more faster, the more it is easy to go wrong, the more we want to do quickly, the more the problem is easy to miss the end, the program changed over to change the past, the press has played a dipper gourd, the last time and effort spent on the contrary,更多. Haste makes waste instead of up. Excellent programmers to spend more time in front of the practice is to conduct more research, to test non-network solution, if time permits, a good habit, every 4 hours of programming, an hour of rest, then yes 4 hours of coding. Of course, this varies, but its purpose is to make you always look back to let you think about the following three questions: 1) whether it is doing is right? 2) whether to do so taking into account all the circumstances? 3) Is there a better way? Well like to say, often look back on the path already traveled, often sum up the past, things would be very helpful to you.







