This article is written by Gavin King, which is very interesting, fully reflects Hibernate design concept. I roughly translated as follows: The following is the personal idea for Hibernate development work, which is these efforts to make Hibernate so quickly and welcome. 1. The fast version releases the active development speed, often releases the release, or even a previous version to the next version in a few days. This is to ensure that software is far from BUG's best way, but also makes users feel very relieved, and it is said that Hibernate is very active, and there is also a great advantage in this way, which is what functions are really needed. 2, regression test I think now the entire Java community must pay attention to the automatic regression test. If the software features and design have a relatively large modification, then a comprehensive Test Suite is really important for software maintainability and stability. We should have such awareness: If there is no regression test on a new feature of the software, we should not do it. 3, do one function to do it best, do it, you must do it. Those we can't do the best feature, we don't do it at all, throw it to other software. 4. Avoid excessive design waste to waste the abstract and expansion of software functions, it is better to solve the actual problems facing your users more than the time! Simple! The software can run OK, don't try to solve your users at all, the problem is not concerned. Even if your software design is not elegant, there is no relationship, anyway, or the initial stage! In the future, Refactor, the question you should pay attention to is to make it in time to make useful features. 5. At least you have already done the software outline before you need to decide by the democratic voting. Software development needs to be led by one or two open people, which ensures the coherence of software development and does not produce too much differences, ensuring that the development team concentrates the functionality to achieve the function. I think that the biggest risk of OSS software is that the opinion is not unified, and the booth is too big, and the final don't do anything. (Translator Press: Very agreed, all successful OSS software is all after a cow has been done, released, then add functions to everyone, and continuous progress under the leadership of the cattle. Lack Cattle's OSS software is not very successful, such as Mozilla) 6. There is nothing more important than documentation. If your user doesn't know that your software has such a function, it is equal to this feature, and simply remove it, save the source code to increase complexity. 7, avoid standardized standards can bring software interoperability and portability, bad standards to suffocate software innovation! "Support XXX standard" is not true for real user needs, especially when this XXX standard is those who have been developed in their "so-called" expert committees. (Translator Press: Mo-refer to several BIG NAME?) The best software is incorporated in the process of constant attempts, constant errors, and constant experience accumulation. Factual criteria are often closer to user needs. Within 8, 10 minutes, hibernate, potential hibernate users, they downloaded Hibernate. When I first used it, I can't spend half an hour for half an hour to install, configure, and Troubleshooting, they have already lost it. Interests to Hibernate. Our slogan is a new user (assuming enough JDBC knowledge) to run Hibernate's demo within 5 minutes, and they can write the simple Hibernate program of "Hello World" within 1 hour and running properly. .