In this world, millions of people are keen on software development. They have many names, such as software engineer, programmer, coder ), developer ).
After a while, these people can become excellent coders who are very familiar with how to use computer languages to complete their work. However, if you want to become a good programmer, you still need to pay attention to several other things. If you can make the following ten entries your habits, then you can truly become a good programmer.
1. There is no end to learning. Even if you have more than 10 years of experience as a programmer, you have to study hard, because you are in the computer field full of creativity, there are many new things every day. You must keep up with the times. You need to understand new programming languages, developing programming languages, and some programming frameworks. You also need to read some industry news and participate in online discussions in some popular communities so that you can understand and understand the overall software development trend. In China, some famous communities, such as csdn, itpub, and chinauinx, are recommended to visit digg.com frequently to view the aggregation of various blogs abroad.
2. Master multiple languages. Programming Languages always have their most suitable fields. When you are faced with problems that need to be solved, you need to find the most appropriate language to solve these problems. For example, if you need performance, C/C ++ may be the first choice. If you need cross-platform, Java may be the first choice. If you want to write a web development program, PHP, ASP, Ajax, and JSP may be your choice. If you want to process some text and interact with other applications, Perl and Python may be the best. Therefore, it takes some time to explore other programming languages that you are familiar with to broaden your horizons. Because you are better armed, you can think more comprehensively, this will be helpful to you and your project.
3. face different operating systems or technologies rationally. Programmers always have unparalleled technologies and operating systems, some like Ubuntu, some like Debian, others like windows, and FreeBSD, MacOSX or Solaris. Look at my blog (http://blog.csdn.net/haoel) in the article "In fact UNIX is very simple" after the reply you know programmers in maintaining their loyal love that persistent. Only some excellent programmers understand the advantages, strengths, and weaknesses of different operating systems. In this way, they can achieve true objectivity and justice when selecting a system, without affecting their emotions. The same is true for languages. Too many programmers always prefer language comparisons, such as Java and Perl. Which of the first programmers did not argue about similar topics? For example, VC ++ and Delphi. Arguing about these things can only show that you are superficial and dry. An excellent program does not stick to this, but can be rationally analyzed and handled, so as to objectively make the right choice.
4. Do not frame yourself in a single development environment. Once again, as described above, Every programmer has his own loyal tools and technologies, and some prefer old ones (for example, I like Vi editing programs ), some prefer new ones, such as gedit or Emacs. Some prefer debuggers like VC ++, while I prefer the gdb command line debugger. And so on. Do programmers have little debate about what tools they use? It's everywhere. It doesn't matter what kind of tool you use, as long as you can achieve your goal better and faster. But one thing we should know is that excellent programmers should try other work environments. No comparison, you never know who is good or who is not good, and you never know what you don't know.
5. Use version management tools to manage your code. Do not tell me that you do not know the version management of the source code. If the source code developed by your team does not have a version management system, I will tell you that your software development is still in the Stone Age. Use a layout management tool. CVS is a seemingly basic version tool, but it is the most widely used version management system. Subversion is an upgraded version of CVS and is starting to take over the territory of CVS. Git is a different version management tool. And Visual SourceSafe. The version management tools you use depend on the size and geographical distribution of your team. You may be using the most efficient or inefficient tool to manage your source code. However, a good programmer always uses a source code version management tool to manage his own code. If you want me to recommend one, I recommend you use the open source Subversion.
6. Be a good team member. Unless you like solo, unless you are a lone hero. But I want to tell you that today, there may be no mature software that you can do by yourself. You may be the best guy in your team, but this does not mean that you are a good team member. Your abilities can only be put into one team. Are you polite in communicating with your team members? Do you often communicate with them and everyone likes to discuss issues with you? Think about a football team. Are you a good member of this team? Can others be encouraged when they see your movements on the court and when they see your passing, ball capturing, and steals?
7. Turn your work into documents. This entry includes writing comments in the code, but it is not enough. You need to do more. A code with a good annotation style is the foundation of a document. It allows you and your team to easily understand your intentions and ideas. Writing a document is not just a fear that we forget what we thought at the time, but also a way of offline communication between teams, but also a way of transferring knowledge. Recording what you know will be a good habit. Because, I believe that you do not want others to interrupt you when you are busy, or you receive phone calls from the company when you are on vacation to ask you questions. If you keep your own things, the result may only be that you have been stuck in this thing for a long time, you cannot do more things. Including upward promotion. You may think that "The Church apprentice can starve master", but I tell you that your conservative nature will make you lose more and better things. Please trust me, I am not here to be sensational.
8. Pay attention to backup and security. Maybe you think this is a "nonsense" and you have understood the importance of backup. However, I still want to propose that losing things is part of our life and you will always lose things, which you will never avoid. For example, your laptop is stolen, your hard disk is damaged, your computer is infected with viruses, your system is infiltrated, and even the entire building is burned, and so on. Therefore, it is very important to do a good job of backup. Hard Disks are untrusted. Therefore, it may be a good way to regularly burn CDs or tapes, and the network is untrusted, therefore, be careful with viruses and hackers, not only using software security policies, but you need a sound management system. In addition, try to place your data in different places and make regular (daily, weekly, and monthly) backup policies.
9. The design should be flexible enough. Maybe your requirements only require you to implement a dead thing. However, as a good program, you should always think about whether this dead thing can be flexible, for example, you can change some parameters to configurable ones, and form some common things into your function library for reuse in the future. Do you want to provide plug-in functions? Do your modules need to be freely combined like building blocks? Will your design be able to cope with any changes immediately? Of course, flexible design may not require you to reinvent the wheel. You should try to use standardized things as much as possible. The so-called spiritual design is to let more things out of demand be considered, and to take this kind of problem into account, rather than simply dealing with the specific things mentioned in the demand. For example, if the required screen resolution is 800x600, can your design be flexible to other resolutions? Program Design always requires us to deal with different environments and future trends. We need to use a dynamic perspective to think about the problem, rather than thinking about it. Maybe one day, the program you write today will be transplanted to other environments. At that time, you will be able to really understand what a flexible design is.
10. Don't hit your feet with stones. Programmers always have a bad habit, that is, they always want to finish their work quickly. However, the situation is often counterproductive. The more you want to do it quickly, the more likely it is to have a problem. The more you want to do it quickly, the more likely it is to miss the problem. In the end, the program is changed and changed, in the end, more time and energy are spent. To speed up. The habit of a good programmer is to spend more time investigating and experimenting with non-net solutions. If time permits, a good habit is to program every four hours, it takes an hour to rest and then 4 hours to code. Of course, this varies from person to person, but its purpose is to let you look back and think about the three questions: 1) Is this true? 2) Have you considered all the situations? 3) Is there a better way? After thinking about it, I will always look back at the path and summarize the past things, which will be of great help to you.