Skip to content

Commit

Permalink
Add our statement on code quality
Browse files Browse the repository at this point in the history
  • Loading branch information
koppor committed Mar 10, 2020
1 parent 60958ad commit 52f3571
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions docs/code-quality.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,10 @@ We strongly recommend to read following two books on code quality:
* [Java by Comparison](https://github.com/JabRef/jabref/tree/c81740b3818c7f9311a6d7ff063243e672c821b4/docs/java.by-comparison.com) is a book by three JabRef developers which focuses on code improvements close to single statements. It is fast to read and one gains much information from each recommendation discussed in the book.
* [Effective Java](https://www.oreilly.com/library/view/effective-java-3rd/9780134686097/) is the standard book for advanced Java programming. Did you know that `enum` is the [recommended way to enforce a singleton instance of a class](https://learning.oreilly.com/library/view/effective-java-3rd/9780134686097/ch2.xhtml#lev3)? Did you know that one should [refer to objects by their interfaces](https://learning.oreilly.com/library/view/effective-java-3rd/9780134686097/ch9.xhtml#lev64)?

This is how we ensure code quality in JabRef:

* we review each external pull request by at least two [JabRef Core Developers](https://github.com/JabRef/jabref/blob/master/DEVELOPERS).
* we document our design decisions using the lightweight architectural decision records [MADR](https://adr.github.io/madr/).
* we follow the principles of [Java by Comparison](https://java.by-comparison.com/).
* we follow the principles of [Effective Java](https://www.oreilly.com/library/view/effective-java-3rd/9780134686097/).
* we use [Design Pattners](https://java-design-patterns.com/patterns/) when applicable.

0 comments on commit 52f3571

Please sign in to comment.