Programming Cognition: Multi-thinking, multi-coding, multi-Test

Source: Internet
Author: User
Each programmer has its own unique programming approach, and the original author, Ben Teese, has learned some insights into the coding process in his career as a programmer: multi-thinking, multi-coding, multi-testing. The process of building software is a continuous learning process, and a good strategy is to follow plan-execute-rethink.

During my career as a programmer, I realized the following process of coding, and I was exposed to a lot of other theories and ideas, but I thought it was the best one for me.

The approximate style is this:

A: Think more (Think a bit)

B: Multi-coded (code a bit)

C: Multiple tests (test a bit)

One more time (go to Step 1)

The first step: think more

How many friends will feel, crackling the speed of the keyboard rhythm represents the height of the program productivity? If you also think so, I hope you can in the face of problems, first put on, meditate on a thought.

If you think about it, you might as well start by asking yourself: what are you going to do? Once we are quiet, the answer to this question will be to discern the direction or reconsider the way the problem is handled.

Next, I would suggest thinking about the question: Do you complicate the simple question? Trying to solve the problem in the simplest way is the goal that every programmer should strive for. But when we have enough knowledge, is it too much to solve the problem in such a simple way? If we think this way, maybe the last one to find us is a heap of increasingly complex problems. Try to turn your mind around and solve the problem in a simple way that will lead to the worst outcome. Is it worse than not solving the problem? It's important to learn to jump out of niu Jiao Jian.

Therefore, in the face of problems, may wish to ask themselves more than a few questions. And when it comes to a bottleneck, I'll consider moving on to the next step.

Step Two: Do more

How many friends will feel, crackling the speed of the keyboard rhythm represents the height of the program productivity? If you also think so, I hope you can in the face of problems, first put on, meditate on a thought.

If you think about it, you might as well start by asking yourself: what are you going to do? Once we are quiet, the answer to this question will be to discern the direction or reconsider the way the problem is handled.

Next, I would suggest thinking about the question: Do you complicate the simple question? Trying to solve the problem in the simplest way is the goal that every programmer should strive for. But when we have enough knowledge, is it too much to solve the problem in such a simple way? If we think this way, maybe the last one to find us is a heap of increasingly complex problems. Try to turn your mind around and solve the problem in a simple way that will lead to the worst outcome. Is it worse than not solving the problem? It's important to learn to jump out of niu Jiao Jian.

Therefore, in the face of problems, may wish to ask themselves more than a few questions. And when it comes to a bottleneck, I'll consider moving on to the next step.

Step three: Multi-Test

Not be frank, this step is not only not coding so interesting, and even very annoying.

However, there is no test session of the project, I suggest or in the individual open source projects, because not tested and released, should not be many people dare to use.

In addition to annoyance, testing may also be the most complex part of the coding process. Unlike programming, what you see is what you get, and it takes a double effort to find the optimal test plan. The test is characterized by uncertainty.

Some friends use test-driven development methods, my view is: This is good, but please stick to the end. For me, I would use this approach if it was a highly algorithmic set of projects.

Fourth step: Try again.

The solution to the problem is often not an overnight one, and the loop and feedback is crucial. The process of building software is an ongoing process of learning and learning to strengthen skills and problem-handling capabilities. A good strategy is to follow the plan------the process of reflection.

Summary

These are some of my personal insights about the coding process. Today, with the introduction of more and more convenient development tools, the above four-step process has gone smoother. So, please try it.


  • 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.