Turn: 45 habits of excellent programmers

Source: Internet
Author: User

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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.