45 habits of excellent programmers

Source: Internet
Author: User

Attitude

1. Do not complain, complain, blame others, locate the problem, and find a solution. Be brave enough to handle problems and errors.

2. Speed is not up to speed: Use a clever and cost-effective solution to solve the problem.CodeQuality, will leave a dead corner for the project.

3. Ignore people: discuss issues with wisdom, sincerity, and humility, 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 the team: Build a learning team and continuously improve the average level of the teams.

7. Discard: The old routines and technologies should be lost. Do not stick to it.

8. Break through the casserole and ask the question to the end: keep asking questions and truly understand the nature of the question. 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. Let the design guide not manipulate development: design is the forward map, which directs the direction rather than the purpose. The design details should be appropriate.

12. Rational use of technology: select technology as needed rather than other factors. Strict questioning of various technical solutions, and sincere face to various problems.

13. Make applications available for release at any time: 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 and should be integrated as much as possible as soon as possible.

15. Early automatic deployment:

 

16. Use the demo to get frequent feedback

17. Use short iterations and incremental release

18. Fixed prices mean betrayal of commitment: estimates should be constantly changing based on actual work.

User

19. Guardian Angel: Automated unit testing is your guardian angel.

20. Use it first to implement it: Test-driven development is actually a design tool.

21. Different environments have different problems: Pay attention to multi-platform issues.

22. Automatic Acceptance Test

 

23. measure the actual progress: Do not deceive yourself in workload estimation.

24. Listen to the user's voice: Every complaint hides valuable truth.

Programming

25. The code should clearly express its intention: The Code is intended to be read by people and should not be clever.

26. Code Communication: The art of annotation.

27. Dynamic trade-offs: Remember, there is no optimal solution. Various goals cannot be all-encompassing, focusing on important user needs.

28. incremental programming: build, test, refactor, and rest with a little bit of code. Let the code clean.

29. Try to make it as simple as possible. If there are no good reasons, do not use any patterns, principles, and special technologies.

30. Compile the code for cohesion: the class and component should be small enough and the task should be single.

31. Don't ask: use more messages and use less function calls.

32. replacement by contract: the delegate is often better than the 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. Individually solve the problem: Divide and conquer is one of the most important ideas in computer science. However, from the design and prototype stages, each part should be well separated.

36. report all exceptions:

 

37. Provide useful error information: It takes a little more effort to facilitate errors.

Team collaboration

38. Regular Meeting schedule: Regular Meeting and short meeting.

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

40. Collective Ownership of code: 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 by themselves: guiding the direction, rather than providing a solution directly. 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. Code Review: Review is extremely important to improve code quality and reduce errors.

45. report the progress and problems in a timely manner: proactively report and 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.