I bought this book at this time last year and it took about a week to read it.
The first thing I want to talk about is: this is indeed a very good book. It will inspire students, developers, and entrepreneurs.
The content of the book is to organize some blogs or speeches on Joel (an excellent programmer, that's right, and we are doing the same thing) and talk about how to study the CS course, how to make money, code specifications, and software release pricing ......
All of the ideas in this article are quite good.
With one sentence, Ruan Yifeng translated well.
Below are some excerpted content.
The reason for choosing a program is that they prefer to spend their events in a fair and orderly place, a place where strict experts are mediocre, A place where you are right to win any controversy.
All of you have good luck, because you have to compete.
After you correct one small detail after another, when you polish, shape, Polish, and modify every small corner of your product, something magical will happen. The centimeter is changed to the sub-meter, and the sub-meter is changed to the meter. meter becomes a kilometer. What you finally get out of it is a really good product. At first glance, it makes people feel shocked, outstanding, and work exactly in line with intuition.
Programmers are driven by a desire to take care of all aspects. Everyone is satisfied, but more choices will not make users feel happy.
If cultural anthropology is not taken into account when a software is deployed on a social interface, the software will be difficult to use and will not play a role.
The tragedy of the commons: Every party knows that resources will be exhausted due to overuse, but everyone is powerless to continue to deteriorate, in addition, the situation is aggravated by the mentality of "fishing in time.
One of the best ways to avoid attacks is to make it seem as successful.
A good social interface design will create more value for us.
Small software implementation details can lead to a big difference in online community development, operation, and user experience.
Robustness principle: Keep your behaviors conservative and be tolerant of others' behaviors.
Good design seems to be the easiest thing to copy, but it is not that easy to do.
Every time you solve a new problem, your business and market will grow dramatically. Excellent promotion, excellent design, excellent sales personnel, and excellent services. In addition, you have solved many "troubles" for customers ", these factors work together to create a mutual amplification result.
Code specification:
Highest level: You carefully construct the code, give full play to your insights, and write them clearly and easily without errors.
All user-entered strings are insecure and must be encoded before output.
Develop code specifications, at least to make the error code more easily discovered.
Standard recommendations:
1. Enter the wolf to write the function briefly;
2. The closer the variable declaration location is to the used location, the better;
3. Do not use macros to create your own programming language;
4. Do not use goto;
5. Do not make the left bracket of the right brace more than one display screen.
The "applied Hungarian naming method" still has its value. It strengthens the connection between codes, making the code easier to read, write, debug, and maintain, the most important thing is that it makes the error code easy to spot.
If a new version is released, including new features, we will see the company's rapid, significant, and sustained growth.
Reconstruction principle:
1. No new features are added;
2. Whenever code is submitted to the source code library. Ensure that the program can run perfectly;
3. It only performs a logical exchange and can immediately determine that the Code behavior will not change.
The customer encountered problems. You helped him solve the problem, and the customer actually became more satisfied than when there was no problem.
If a customer calls us, we need to take this opportunity as a golden opportunity and a chance to cultivate loyal customers. If you do well, when customers meet each other, they will tell you how good your service is.
About releasing Software
If you have a small number of customers, you 'd better publish new versions with minor changes on a regular basis.
If you already have (or will have) a large number of paying users, it is best not to release the new version too frequently.
For software systems with millions of users, it is best to occasionally release new products.
Determine priority
It is best to make Installation Software for the entire market whenever possible.
If you want to finish things, you must know what is the most important thing at the moment, and you must do it right away. If not, you cannot make progress as quickly as possible.