The golden Wisdom about open source

Source: Internet
Author: User

  1. Good software works often originate from the individual needs of the developer.
  2. Good programmers know what to write, and excellent programmers know what to rewrite (and reuse).
  3. "Plan to throw away one, sooner or later you will." (Fred Brooks, "The Man-month myth", chapter 11th)
  4. If you have the right attitude, interesting things will naturally find you.
  5. When you are no longer interested in a program, your final responsibility is to hand it over to a competent stick-up person.
  6. Treat your users as development collaborators, which is the most hassle---if you want to quickly improve code quality and effectively debug.
  7. Early release, often published, listen to user feedback.
  8. If there are enough beta testers and co-developers, almost all of the problems will appear quickly, and then naturally someone will solve them.

    Beta tests are "beta tests" and correspond to "alpha tests". For an upcoming software PRODUCT, Alpha testing refers to testing the product (Alpha version at this point) by the software company's internal testers to simulate a variety of user behaviors. Subsequent beta testing refers to a software company that organizes a variety of typical users to use in their daily work (the beta version of the product) and asks the user to report errors and anomalies. Finally, the software company modified the beta version of the error and improved.

  9. A clever data structure with stupid code is much better than the reverse.

  10. If you treat beta testers as the most precious resource, they will become your most valuable resource.
  11. Second only to having a good idea is to identify good ideas from the user, sometimes the latter will be better.
  12. Often, the most groundbreaking and innovative solutions come from the realization that you are wrong about the basic idea of a problem.
  13. "The perfection of design is not that nothing can be added, but nothing can be reduced." ”
  14. Any tool should have expected functionality, but a great tool can bring you unexpected functionality.
  15. When writing gateway-class software, do not disturb the data stream as much as possible, and never throw away information unless the receiver forces you to do so.
  16. When your language is far from complete (turing-complete), grammatical sugars can benefit you a lot.

    Grammatical sugars (syntactic Sugar, or syntactic icing) is a term invented by the British computer scientist Peter J.landin, which refers to the addition of some component to the computer language that does not affect the language function, but makes it easier to use, with the aim of enhancing the readability of the code and avoiding the chance of error.

  17. The security of a system depends only on the secrets it has. Beware of false secrets.

  18. To solve an interesting problem, first find a problem that interests you.
  19. If the development coordinator has a good communication medium, at least like the internet, and knows how to lead without coercion, then the cooperation of many people must be stronger than individual combat.

From "The Cathedral and the Bazaar"

The golden Wisdom about open source

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.