10 practical skills for programmer Programming

Source: Internet
Author: User

10 practical skills for programmers in programming and development. Below are some simple skills and strategies I have learned at work. I hope they will be useful to you.

1. Rubber Duck debugging method

I wonder if you have such an experience. When you are describing a problem to someone else, you suddenly think of a solution? There is a scientific basis for this situation. Talking about it can make our brains organize problems in a more organized manner. In this case, your chat object is "Rubber Duck ". Everyone in the team should take the initiative and be willing to become "rubber ducks" for each other ". Sometimes, if you are lucky, you can still give effective suggestions if your "Rubber Duck" is poor.

2. Quick Information Feedback

Once the code is written, you need to get feedback as soon as possible. When you receive a large number of pull requests like we did in Hubspot, you may wish to make some minor changes and then immediately open PR to discuss design and code. Talk to your "Rubber Duck" and ask them for some suggestions. You must know that iterative prototypes can save much cost than rectification of finished products.

Some team structures may not require code writing at first. Because of the entity model and whiteboard design, these costs are lower than the cost of deleting and modifying thousands of lines of code at once.

3. Get the terminal-to-end

When we solve the problem and complete the function, it is easy to go deep into the details of the problem. There is a good way to solve the problem as soon as possible.

For example, if I need to set a function on the webpage, I can perform some complex operations after the user clicks and store the results to the server. Some children's shoes may want to study this calculation method first. My approach is to first set an event handler for your operations, simulate computation with some fixed values, and then call the API to request data from the server. In this way, we do not need to consider every specific detail first, and we can directly test the system at the end. At the same time, this fast feedback loop helps us to iterate and write code faster. The initial design may not be perfect, but by seeing how components are combined, we will have a clearer understanding of the entire system and make the best design.

In Hubspot, before the product is complete, we will first release the feature so that we can perform internal testing in time. This is to further deepen the concept of this end-to-end.

4. Leave the computer in due time

Sometimes, console. Logging is everywhere during debugging. The best way is to test the code. Sometimes, if you try to solve complicated design and problems, you 'd better leave for a while. Although this sounds incredible, sometimes I think of the crux of the problem in the toilet. My lover, she is also a software engineer. She once told me that when she fell asleep, she often had various whimsy (sometimes close her eyes, sometimes there are various solutions coming soon ). Take a nap, take a walk, go to the toilet ...... All right. In short, leave the computer in due time.

5. Automation

Efficient developers will automate many tedious processes. However, many people have always believed that automation can only save time, which is a common misunderstanding. In fact, the biggest advantage of automation is that it makes your mind go forward in the direction of achieving your goals.

For example, if I need to run a complex SQL query frequently, and the process is really long, I have to input it again every time. Of course I wouldn't be dumb. I would save it in the clipboard using a program similar to Alfred, or I 'd like to save some steps. Automation is a more positive attitude for me.

6. do it by yourself"

When designing new code, we want to write perfect code and discover every abstract concept. However, when we are committed to designing new code, the abstract concept becomes an interference factor, even though the abstraction is obvious and easy to design. My approach is to simply and mechanically copy some code as a prototype instead of immediately thinking about various abstract concepts. This allows me to quickly get started with new projects. The effect is better than I just talk on paper, and the abstract divergence that can be done in the future is broader. However, do not just copy the code or clear the code, or they will soon become a mess.

7. Exercise is very important

Writing code doesn't actually burn a lot of Caroline, so we have to force ourselves to work. You can stretch out from time to time and walk around regularly. At Hubspot, we have a club. I have three days a week before lunch for fitness. In addition, I used to do a few push-ups every hour or so to stretch my muscles and maintain my vitality.

I used to suffer from shoulder pain and back pain for a long time, but since the appearance of the vertical table, these have become history. If you have any troubles in this regard, try this method to achieve quick effect and good results. Hubspot provides us with an electric desk that can be switched between vertical and sitting. Of course, if I put it at home, a table like $1000 may be too luxurious, so I bought a second-hand one online for $40.

8. Read the previous article

Reading other people's documents, technical articles, and code often drive me crazy. In order to be angry, you may wish to read the previous article for more details. The concept in the program is hard to be expressed in a linear way. Reading the previous article can help us better understand the content and code of the article.

9. Meticulous notes

Some less organized developers may sneer at this technique. Do you know how I did it? I will record in detail what I did every day, what problems I encountered, and how I solved these problems. Then, when I encountered a similar problem again, I would never have to "stick to my eyes with tears, but I was speechless. These notes have made me invaluable because I can use my previous experience and wisdom to solve my current problems. In addition, if I encounter one-to-one performance appraisal, I can quickly think of my contribution to the company and my achievements.

10. Make a plan for the next day

Either before going home from work or before going to bed at night, I will list the to-do list for the next day in my notebook. In this way, when this day is approaching, my goal will be very clear, knowing what I want to do, concentrate on my mind, concentrate on my mind, and move forward towards the goal. You know, this method allows me to complete tasks faster and higher quality, so that I have more time to rest.

You can get the original PHP video tutorial CD for free. For details, contact the Customer Service on the official website:

Http://www.lampbrother.net


10 practical skills for programmer Programming

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.