Today, I saw this article and thought there were some things we would like to learn, but some of them are not quite in line with China's national conditions !!!
Let's take a look.
Excellence comes from good habits. How to become a good developer? Turing Corporation
Recently popular book 45 habits of efficient programmers
A good solution is provided.
A: It is worth reading.
This
Original English version of this book
He was honored with the jolt Productivity Award known as the software Oscar, which is also well received by Amazon. First author Venkat
Dr. Subramaniam is the founder of agile developer and an authoritative person in Agile development. He is proficient in various development technologies. Author Andy
Hunt is also a famous character. It is the founder of the agile Declaration and the famous book publishing company pragmatic.
Founder of programmers. He has two books that everyone should know: the classic Ruby tutorial Programming
Ruby is also a favorite of many developers.
The translator team is consulted by the famous agile consulting company thoughtworks Qian andchuan and
Infoq Chinese site agile community chief editor, programmer magazine
Zheng Ke, former Deputy Editor-in-Chief, can be trusted.
It is worth mentioning that this book is like the continuation of the "Practice of programmers" in the agile age. Style and writing are similar. Below are 45 customary titles extracted from the book, and the text below each title is me
A summary of the notes in this book. In addition, Turing is still on its official blog
ProvidedSeveral chapters for free
(Lower
).
We strongly recommend that you print them out and paste them on the wall next to your desk.
Attitude
1.
Practical work
Don't complain, complain, blame others, locate the problem, and find a solution. Be brave enough to handle problems and errors.
2.
Speed is not up
Solving problems with a smart, cost-effective approach, and seeking fast, regardless of the quality of the Code, will leave a dead end to the project.
3.
Wrong person
Let's discuss things in a wise, sincere, and open-minded manner, and propose innovative solutions.
4.
Overcome all difficulties and forge ahead
Courage is often the only way to overcome difficulties.
Learning
5.
Tracking changes
The emergence of new technologies is not terrible. Learn New Technologies, read books, read technology magazines, participate in technical activities, and communicate with others. Understanding what is behind a new word
However, be cautious when using new technologies for product development.
6. Investing in teams
Build a Learning Group
Team, constantly improve the average level of the brothers.
7. Discard
Old routines and technologies should be lost. No
Fixed-step self-sealing.
8. Break the casserole and ask to the end
Constantly ask questions to truly understand the nature of the problem. Why? Should be you
.
9. Grasp the development pace
Control the time, develop good habits, and do not work overtime.
Development Process
10. Let customers make decisions
Let users listen to their voice at the scene, and make the most important decisions for the business.
11. design guidance rather than development manipulation
Design is a forward map, which directs the direction rather than the purpose itself. Design
The degree of detail should be appropriate.
12. reasonably use the technology
Select technology as needed rather than other factors. For each
Technical solutions are strictly followed up, and we sincerely face various problems.
13. Make the application available for publishing at any time
Passthrough
With continuous integration and version management, you should be able to compile, run, or even deploy applications at any time.
14. Early Integration and frequent Integration
Integration is risky. Try to integrate as much data as possible.
15. Early automatic deployment
16.
Use the demo to get frequent feedback
17. Use short iterations and incremental release
18.
A fixed price means a breach of commitment.
Estimation should be constantly changing based on actual work.
User
19.
Guardian angel
Automated unit testing is your guardian angel.
20. Use it to implement it.
Test-driven development is actually a design tool.
21. Different environments have different problems
Pay more attention
Platform Problems.
22. Automatic Acceptance Test
23. measure the real progress
Do not deceive yourself in workload estimation.
24. Listen to your voice
Every complaint is hidden
Valuable truth.
Programming
25. The code should clearly express the intent
The Code is intended for humans. Do not be clever.
26.
Communicate with code
Annotation art.
27. Dynamic trade-offs
Remember, there is no optimal solution. Various goals cannot be all-encompassing, focusing on important user needs.
28.
Incremental Programming
Write a little code to build, test, refactor, and rest. Let the code clean.
29.
As simple as possible
Rather than traditional. If there are no good reasons, do not use any patterns, principles, and special technologies.
30.
Compile cohesion code
Classes and components should be small enough, with a single task.
31. Please do not ask
Use more messages and less function calls.
32. Replace according to contract
Delegation is often better than inheritance.
Debugging
33. Record the problem resolution log
Do not fall twice in the same place. Errors are the most valuable asset.
34.
Warning is an error
Warnings that ignore the compiler may make a big mistake.
35. solve each problem
Divide and conquer is one of the most important ideas in computer science. However
Section, consider that each part should be well separated.
36. report all exceptions
37.
Provide useful error messages
A little more effort will bring you great convenience when something goes wrong.
Team collaboration
38. schedule regular meetings
Regular Meeting, short meeting.
39.
The architect must write the code.
Architects who do not write code are not good architects. Good design comes from actual programming. Programming is acceptable
Brings you a deep understanding.
40. Implement code Collective Ownership
Allow developers to use different modules in different regions of the system
And shift between tasks.
41. Become a mentor
Teaching and learning. Sharing can improve the overall ability of the team.
42. Let everyone find a solution
Provide guidance rather than directly providing solutions. This gives everyone the opportunity to learn in their work.
43. Share the code after preparation
Do not submit code that cannot be compiled or has not passed the unit test!
44.
Perform code review
Review is critical to improving code quality and reducing errors.
45. report progress and problems in a timely manner
Inform you actively. Do not ask others to ask you.