Confucius said, “If you take from it, you get from it; Take from it, get under it; If you take it, you get nothing.”

For reading knowledge, this old adage teaches us to read good books, preferably the best of the best — classic books!

Good reading makes good friends

The Way of Programmer Training

This is a book worth reading again and again.

Since I began to work, I have found that the people around me who read books are like water chestnuts. Many people have lost interest in reading the moment they step out of school. Think reading is useless, but if you ask what is the use of reading? That may indeed be useless! Reading won’t bring you short-term gains or material improvements.

But life is so strange, the more useless things are, the more useful they are.

The world is moving too fast, and the Internet is leading the way! With a small body rushed forward, but do not forget to look back to eliminate a batch of elderly. To stand in this turbulent times, you need to have the courage to ride the wind and waves and indomitable soul. Courage can be tested, but the soul can only be practiced. And reading is a kind of cultivation.

“The Way of Programmer Training” is known as the Bible of Internet practitioners. A book can be so highly appraised in the industry, it shows its value. I can only share the tip of the iceberg here to show my respect!

  1. Don’t put up with broken Windows
  2. Don’t leave “broken Windows” (poor design, bad decisions, bad code) unfixed. Fix as many as you find
  3. Once the window starts to break, it deteriorates fairly quickly and becomes difficult to control

The “broken window theory” : A broken window, left unrepaired for any length of time, gives residents a sense of abandonment — a sense that authorities don’t care about the building. Then another window broke. People started littering, there was graffiti, there was serious structural damage. In a relatively short period of time, the building has been damaged beyond the owner’s willingness to repair, and the sense of abandonment has become a reality!

  1. Collaborative results – everyone wins in the end
  2. It’s easier to participate in the successes that are happening, and by giving them a glimpse of the future, they will rally around you
  3. A catalyst for change
  4. Most software disasters start with little things, and most project delays are day-to-day
  5. It’s often the little things that add up that destroy morale and the team
  6. Pay attention to the big picture (boiling the frog) and constantly observe what’s going on around you, not just what you’re doing
  7. To be successful, all systems must meet the needs of their users
  8. If you give users something and let them use it early, their feedback will often lead you to a better final solution
  9. Invest regularly in your intellectual assets
  10. Critically analyze what you read and hear
  11. What you say is just as important as how you say it
  12. Design self-contained components: independent, with a single, well-defined purpose, and cohesion
  13. The code remains decoupled
  14. Avoid writing similar functions
  15. Get in the habit of constantly criticizing your own code. Look for any opportunities to reorganize to improve its structure and orthogonality. This process is called refactoring
  16. Orthogonally designed and implemented systems are easier to test because the components of the system are interactive and limited, facilitating testing at the level of a single module
  17. Unit (module) testing is easier to conduct and operate than integration testing

What is orthogonality?

“Orthogonal” is the concept of linear algebra, is the extension of the intuitive concept of vertical. As an adjective, it only makes sense in a definite inner product space. Two vectors in an inner product space are said to be “orthogonal” if their inner product is 0. — Wikipedia

Then switch to the field of software systems, orthogonality is not dependent on each other, decoupling, that is, each subsystem, module is independent of each other, do not affect each other, or minimize the coupling

  1. There are always changes to be made, features to be added, and it’s a gradual process
  2. The limit of language is the limit of one’s world — Wittgenstein
  3. Estimate! To avoid accidents
  4. To do a good job, he must sharpen his tools.
  5. Use an editor. Make it your right-hand man
  6. Qin people have no time to mourn, and posterity mourn. Posterity of sorrow and not mirror, also complex posterity of sorrow.
  7. Fix the problem, not point fingers
  8. The easiest person to deceive is yourself
  9. Code is for people to see
  10. There is no such thing as perfect software. Embrace it, embrace it, celebrate it. Just like there are no perfectly normal people in this world
  11. Dealing with computers is difficult, but dealing with people is even harder
  12. Finish what you start
  13. The only constant in the world is that it is always changing
  14. Write loose, flexible code to adapt to this era of rapid iteration and change
  15. Minimize coupling between modules
  16. Configure, not integrate
  17. Species that can’t adapt to the real world die out
  18. Divide and rule. Each module has its own responsibilities
  19. Coding is not a mechanical translation of design into execution statements.
  20. Early refactoring, frequent refactoring
  21. Test your software, or your users will
  22. Think like a user

Goldie, king of Phrygia, once tied a knot that no one could untie. It is said that whoever can untie this knot will rule all of Asia. Alexander the Great came and split the knot with his sword. Just a slightly different interpretation of the requirements, that’s all… He did go on to rule most of Asia

  1. Think of the Trojan Horse
  2. Don’t repeat yourself
  3. Test your test with sabotage
  4. A bad pen is better than a good memory
  5. Write clear and clear notes, convenient for you and me
  6. When you learn a new language, you can learn all of them