You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/code-quality.md
+7
Original file line number
Diff line number
Diff line change
@@ -11,3 +11,10 @@ We strongly recommend to read following two books on code quality:
11
11
*[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.
12
12
*[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)?
13
13
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