The opening words of programmers to solve the problem, most are not procedural issues

The opening words of programmers to solve the problem, most are not procedural issues

Programmer's very hard, but we spend a lot of time and effort to cope with the work, not the technical work, but is seemingly very "not worth it" thing.

Accidental complexity

The software industry has a famous book called "Mythical Man-Month", which refers to two very important concepts: essential complexity (Essential Complexity) and accidental complexity (Accident Complexity).

Simple, the essential complexity is to solve a problem, no matter how do all must do, but because of the complexity of the accidental choice of doing things properly, which led to do more things.

Most programmers busy solving the problem, and not a procedural issue, but the complexity of the problems caused by the accidental.

In other words, as long as choosing the right way of doing things, reduce the workload caused by accidental complexity, software development can be carried out orderly.

Intuitive failure

Many people work things rely mainly on intuition, the more flourishing in this scientific age, we see clearly that human intuition is often wrong, just as the ancients had a hunch that the earth is the same flat.

Software development is no exception, if you did not have to do it on the software and had to learn to think, to form a highly efficient working methods, just act on intuition, in the real world tend to be difficult.

Best Practices

Fortunately, there are always different people to explore different approaches in different directions, once verified by the real world, it will precipitate out best practices (Best Practice) for direct industry applications.

Best practices in the software industry, this can improve the work efficiency has been a lot, but learning to master these best practices are difficult, it is rooted in hard to find these practices intrinsic link between them.

Reflection framework

Most intuition is wrong, the addition of best practices and trivial, so in this column, I'll try to give you a framework to think, to help you sort out what you really need to do when they encounter problems. Around this framework, I will give you some principles.

in principle

These principles much, summed up to four:

  • Begin with the End;
  • Task decomposition;
  • Communication and feedback;
  • automation.

For example: Do you think the "final" may not be the end, because you just stand on our own point of view; you think they do a task decomposition, in my opinion, may not be enough, because I want you to be able to do micro-operation; you think communication and feedback is chat speak, I want to tell you there is a lot of technical practice but also to communicate feedback; you think automation is to write code, I will tell you that sometimes do not write code to solve the problem, is probably a good program.


Guess you like

Origin www.cnblogs.com/gxli/p/12078828.html