Why so popular Hibernate Author:? Robbin Source: hibernate
This article is written by Gavin King, very interesting, fully embodies Hibernate design concept, I roughly translated as follows:
Below is a personal idea for Hibernate development work, it is these jobs that Hibernate is so rapidly welcomed.
1. Flying version release
Maintain an active development speed, often released, even in a few days to the next version within 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 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 better
Either don't do it, 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 over-design
Waste a lot of time and energy for software function abstract and expansion software flexibility, it is better to spend more time to solve the actual problem facing your users! 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, collecting power
Before you need to decide by democratic voting, at least you have already done the software outline. 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, documentation
Nothing is 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 standardization
Good standards can bring software interoperability and portability, and bad standards can 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.
Running Hibernate within 8, 10 minutes
The potential Hibernate users have downloaded Hibernate, it is impossible for half an hour to install, configure, and Troubleshooting at all times when they use it. They have long lost interest in 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. . 9. The sense of responsibility of developers
Users are always inevitable to encounter problems, and the development team has a responsibility to be a matter of charge. Users let us know the vulnerability of the document, the user let us know the small bug of the test case. In addition, there is no user to use our hibernate, we have developed what it does, isn't it a waste of time!
There is a joke about Bug: The user does not mind discovering the new features bug (the translator is as if the user seems to be like this), as long as you can quickly change the bug. "Responsibility" means that bug repair should be within 1 week. From receiving the bug report to the bug repair code, it is an ideal goal to the bug repair code to CVS.
10, easy to use, updatable Wiki page
(Translator Press: Cowiki is a website content release software for Hibernate website)