45 good habits for programmers

Source: Internet
Author: User

Excellence comes from good habits. How to become a good developer? Turing's recent popularProgramMember's45HabitsA good answer is provided, which is worth reading.

The original English version of this book won the jolt Productivity Award known as the software Oscar, which is also well received by Amazon. The first author, Dr. Venkat Subramaniam, is the founder of agile developer and an authoritative developer in Agile development. He is proficient in various development technologies. The second author, Andy hunt, is also a famous character. He is the founder of agile Declaration and the founder of pragmatic programmers, a famous book publishing company. He has two books that everyone should know: the classic Ruby tutorial programming Ruby, which many developers love best practices for programmers.

The translator team is agile by Qian an Chuan, consultant at thoughtworks and infoq Chinese site.CommunityZheng Ke, chief editor and former Deputy Editor of programmer magazine, 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. The following are 45 titles of habits extracted from the book. The text below each title is a summary of the notes I have read this book. In addition, Turing also provides several free chapters on its official blog (below is a link ).

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

Solve the problem with a smart and cost-effective solution.CodeQuality, will leave a dead corner for 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. Be cautious when using new technologies for product development.

6.Investing in teams

Build a learning team to continuously improve the average level of the brothers.

7.Discard

Old routines and technologies should be lost. Do not stick to it.

8.Break the casserole and ask to the end

Constantly ask questions to truly understand the nature of the problem. Why? It should be your mantra.

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. The design details should be appropriate.

12.Rational use of technology

Select technology as needed rather than other factors. Follow up on various technical solutions and face all kinds of problems with sincerity.

13.Allows applications to be released at any time

By making full use of 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 iteration 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.

Multi-platform issues should be emphasized.

22.Automatic Acceptance Test

23.Measure the real progress

Do not deceive yourself in workload estimation.

24.Listen to your voice

Every complaint hides valuable truth.

Programming

25.The code must clearly express its intent(Free sample chapter link)

The Code is intended for humans. Do not be clever.

26.Communicate with code

Annotation art.

27.Dynamic trade-offs(Free sample chapter link)

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.Don't ask

Use more messages and less function calls.

32.Replace according to contract

Delegation is often better than inheritance.

Debugging

33.Record problem solving logs(Free sample chapter link)

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 Problems(Free sample chapter link)

Divide and conquer is one of the most important ideas in computer science. However, from the design and prototype phases, each part should be well separated.

36.Report all exceptions

37.Provide useful error messages(Free sample chapter link)

A little more effort will bring you great convenience when something goes wrong.

Team collaboration

38.Scheduled meeting time

Regular Meeting, short meeting.

39.The architect must write the code.(Free sample chapter link)

Architects who do not write code are not good architects. Good design comes from actual programming. Programming can bring a deep understanding.

40.Implement code Collective Ownership

Allows developers to rotate between different modules and tasks in different regions of the system.

41.Become a mentor

Teaching and learning. Sharing can improve the overall ability of the team.

42.Let everyone find a solution(Free sample chapter link)

Provide guidance rather than directly providing solutions. This gives everyone the opportunity to learn in their work.

43.Share 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.Timely report progress and problems(Free sample chapter link)

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.