Best Practice Documents
What is a "best practice"?
"A best practice is a method or technique that has consistently shown results superior to those achieved with other means, and that is used as a benchmark. In addition, a "best" practice can evolve to become better as improvements are discovered. Best practice is considered by some as a business buzzword, used to describe the process of developing and following a standard way of doing things that multiple organizations can use."
A more specific field are Best Coding Practices
, which probably apply more to our developments: "Using best practices for a given situation greatly reduces the probability of introducing errors into your applications, regardless of which software development model is being used to create that application."
So for us at 52°North and for all members of our communities, the practices listed below are working good standards that we should continuously develop so that they eventually live up to their names and show the best working practice for our purposes.
Existing Best Practices
- JARs in Maven: How can you add libraries to Maven that are not available (yet) in a public repository? This best practice allows you to move your build process to Maven even with offline dependencies.
- Different PropertySets in Maven: How can you maintain different property sets within one build configuration in Maven? This best practice shows one way to do this in a flexible but consistent manner.
- Logging: Why using a logging API in code, which one shall I choose? Examples and references.
- Bugfixing: What steps to do when fixing a bug.
- Add new Feature: What steps to do whenadding a new feature to the software product.
- Software Release: What steps you should do when you release a new software, including guidelines for naming and organising files, ...
Best Practices Under Construction
- Release Readme: This best practice has the goal to define a template for README files that are shipped with software releases to ensure high usability and a consistent public image for 52°North products.
- XmlBeans Substitution Groups: When programmatically creating XML instances using XmlBeans, you once get to the point where you need to create an element of a substitution group. This best practice uses XmlCursors to smoothly create the substitution you want to have.
- Software Documentation: How to structure wiki pages for software documentation? What are do's and dont's?
- Build and Deploy on Server: How to build webapps with Maven on a server with reasonable user settings/rights, data folders, profiles etc.
- Open source software for University researchers: How to get software development right from the beginning so that the overhead of publishing research-grade software under an open source license is minimal.
- Licence Management in Open Source Software Projects: How to maintain licenses of a software projects and its dependencies.
- User home directory configuration: How to flexibly configure a service or application by storing configuration settings, such as database passwords for services, in the user's home directory.