"The Cultivation of Highly Effective Programmers" Reading Notes (3) - Development Technology and Practice Habits

Development Technology:

 

1. Code is our enemy. If you have to write code, you also have to start with simplicity (simple things are most powerful, simple things are less error-prone, easy to maintain, easy to learn)

 

2. The code already tells us how the program works, and the comments tell me why the program works the way it does (provided that the code is concise enough, the best code should be easy to understand, so no additional comments are needed)

 

3. No matter what the document says, the source code is the final fact (the document will also make mistakes and will not keep up with the code. If a problem has been difficult to solve, you can try to start from a lower level)

 

4.80%~90% of the user terminal response time is spent on downloading all components of the web page: pictures, styles, scripts, flash animations, etc. (Because of regional differences in the network, a lot of time is spent on data transmission. There is also this one in the website optimization experience)

 

5. Performance optimization:

    5.1 Optimized for the difference between anonymous users and registered users (displaying different information items)

    5.2 Use network performance analysis tools 

    5.3 CDN acceleration (cheap, mature)

 

 6. The basic skills of programmers: object-oriented, data structures and algorithms, bits and bytes, scripting and regularity (the foundation is not solid, the rest will not be discussed)

 

 7. System security:

    7.1 Use HTTPS to serve logged-in users by default

    7.2 Limiting the number of login attempts per user is 101 in the security realm (to prevent brute force)

    7.3 If you want to use hash to keep your stuff secret, you can only consider choosing bcrypt or PBKDF2 (MD5 and DES are both crackable)

    7.4 Internet passport is more secure than creating a separate username and password (relying on the authentication service provided by large websites to protect your personal data from being leaked)

 

Working habits:

 

1. Beginning to ask questions actually pushed me to diagnose my own problem (expliciting the problem is half the problem)

 

2. What software developers do best is learning. There is no necessary link between years of work experience and programming skills. After 6-12 months of working in any given tech area, you're either proficient or just stuck around. (Lifelong learning, three-year-old watch, five-year-old watch old)

 

3. Programmers' Bill of Rights:

    3.1 Dual monitors, fast computer, excellent keyboard and mouse, comfortable desk and chair, fast internet, quiet working environment (necessities used every day must be of guaranteed quality)

    3.2 Correct sitting posture (correct sitting posture can sit longer)

    3.3 Having more display space will make your work more efficient (less window scrolling, switching, better focus)

    3.4 Your display should not be brighter than a book under light. It is more appropriate to use a background light. (reduce irritation to eyes)

 

4. Explaining the solution effectively to the rest of the team is as important as coming up with the solution (you can find more shortcomings when explaining your solution to others, many things are not what we imagined)

 

5. There is always a reason behind everything that happens

 

6. If you find yourself going to use professional words or professional souvenir photos, please think twice: What is the value of such "professionalism"? Does it help you communicate? Or it's simply a hindrance. If it's cliché, change it now. (Expression should be appropriate to the audience)

 

The above is excerpted from the book "The Cultivation of Highly Effective Programmers", in parentheses is the blogger's own understanding

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326491923&siteId=291194637