Skip to content

Commit 52f3571

Browse files
authored
Add our statement on code quality
1 parent 60958ad commit 52f3571

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

docs/code-quality.md

+7
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,10 @@ We strongly recommend to read following two books on code quality:
1111
* [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.
1212
* [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)?
1313

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

0 commit comments

Comments
 (0)