Abstract: Lao Tzu's philosophy, morality, software philosophy, and software reference: top ten programming rules for eliminating human wolf software in sequence
SAGE:There are thirty centers in total. When there is no hub, there will be a car. Zookeeper is a tool. It is used when there is no tool. The hacker thinks that the room is used when there is no room. Therefore, it is useful and useless.
The hollow wheel makes the vehicle run more smoothly. The empty part of porcelain achieves its function. The house has space and doors and windows, so it has the role of the House. It can be seen that an entity, it relies entirely on its emptiness to realize its functions.
Therefore, in the software field, as a platform supporting applications, there must be sufficient space and interfaces to accommodate various applications. If it implements many specific services, it is like a solid cup, it is useless.
Here, "none, yes" is another level of abstraction. "none" represents abstraction and blank, and "some" represents detail. For example, an interface is just an abstract method, abstract METHODS in abstract classes are just shell elements of a method, but they are crucial, representing the design level and determining the system structure.
A lotProgramIf you do not want to accept the code (but you may have some feelings about it), the specific coding implementation of the method body (Algorithm) It doesn't matter. What's important is why we need this method (the responsibility of the method) and what its input and output are. You may say that our programmers are not writing this.CodeIf you say this is not important, doesn't it mean we are not important! Don't worry, I am actually a programmer. Let's think about it. If the input and output of all the classes, methods, and methods of a system are well designed (no modification is needed ), but every method has not been implemented yet. Do you think this system is nearing completion?
What's important about algorithms? Not important? This is a very important topic!
If software developers devalue algorithms, doesn't They devalue themselves! Algorithms are of course important. How many people won the Nobel Prize for inventing an algorithm? No one has heard of anyone who has developed a system yet.
However, at present, a large number of basic algorithms have been supported by corresponding algorithm libraries. We do not need to constantly invent the wheel. In addition, advanced algorithms are the professional fields of scientists, we can use it.
For a system, the specific algorithm is not important, and the entire system structure is more important.
Pay attention to structure design. Do not design classes or methods randomly.
Please refer to the class design principles
Note: none is useful, but none is unavailable. None can be used only after being converted to one.