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
Merge remote-tracking branch 'upstream/master' into allowReordering
* upstream/master:
Fix image path
Check for secrets being present at GitHub workflows (#5973)
Add "JabRef and Software Engineering"
Make Java code acceptable for GitBook - and fix link to JUnit antipatterns
Let "Contributing" be displayed
Merge the reviewing steops of "Code Quality" to "Development Strategy"
Try to include CONTRIBUTING.md in devdocs.jabref.org
Minor improvments in CONTRIBUTING.md
Update Codecov yaml with proper indentation (#6156)
Complete refactor of LibraryProperties to mvvm (#6107)
Try comment:false
Remove duplicated line
Fix: Only if `.sav` file has changes a recovery dialog is shown (#6116)
Fix formatting for GitBook
Add hint to scroll down
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
16
16
17
17
- We improved the arXiv fetcher. Now it should find entries even more reliably and does no longer include the version (e.g `v1`) in the `eprint` field. [forum#1941](https://discourse.jabref.org/t/remove-version-in-arxiv-import/1941)
18
18
- We moved the group search bar and the button "New group" from bottom to top position to make it more prominent. [#6112](https://github.com/JabRef/jabref/pull/6112)
19
+
- When JabRef finds a `.sav` file without changes, there is no dialog asking for acceptance of changes anymore.
19
20
- We changed the buttons for import/export/show all/reset of preferences to smaller icon buttons in the preferences dialog. [#6130](https://github.com/JabRef/jabref/pull/6130)
20
21
- We moved the functionality "Manage field names & content" from the "Library" menu to the "Edit" menu, because it affects the selected entries and not the whole library
21
22
@@ -41,7 +42,6 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
41
42
- Filenames of external files can no longer contain curly braces. [#5926](https://github.com/JabRef/jabref/pull/5926)
42
43
- We made the filters more easily accessible in the integrity check dialog. [#5955](https://github.com/JabRef/jabref/pull/5955)
43
44
- We reimplemented and improved the dialog "Customize entry types". [#4719](https://github.com/JabRef/jabref/issues/4719)
44
-
- We reimplemented and improved the dialog "Customize entry types" [#4719](https://github.com/JabRef/jabref/issues/4719)
45
45
- We added an [American Physical Society](https://journals.aps.org/) fetcher. [#818](https://github.com/JabRef/jabref/issues/818)
Add new `Localization.lang("KEY")` to a Java file.
101
101
The tests will fail. In the test output a snippet is generated, which must be added to the English translation file.
@@ -119,9 +119,9 @@ You can also directly run the specific test in your IDE.
119
119
The test "LocalizationConsistencyTest" is placed under `src/test/java/net.sf.jabref.logic.l10n/LocalizationConsistencyTest.java`
120
120
Find more information in the [JabRef Wiki](https://github.com/JabRef/jabref/wiki/Code-Howtos#using-localization-correctly).
121
121
122
-
###Create a pull request
122
+
## Create a pull request
123
123
124
-
Create a pull request on GitHub.
124
+
Create a pull request on GitHub following GitHub's guide "[Creating a pull request from a fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)".
125
125
For text inspirations, consider [How to write the perfect pull request](https://github.com/blog/1943-how-to-write-the-perfect-pull-request).
126
126
127
127
If you want to indicate that a pull request is not yet complete **before** creating the pull request, you may consider creating a [draft pull request](https://github.blog/2019-02-14-introducing-draft-pull-requests/).
Copy file name to clipboardExpand all lines: docs/README.md
+4-3
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,10 @@
2
2
3
3
This page presents all development informatation around JabRef. For users documentation see [https://docs.jabref.org](https://docs.jabref.org).
4
4
5
-
## Excersises
5
+
## Teaching Excersises
6
6
7
-
Uni Basel offers a German \(🇩🇪\) Software Engineering course which uses JabRef as one example. Look at [Exercise 5](https://github.com/unibas-marcelluethi/software-engineering/blob/master/docs/week5/exercises/practical-exercises.md) for an exercise where some important points of JabRef are touched.
7
+
We are very happy that JabRef is part of [Software Engineering](https://en.wikipedia.org/wiki/Software_engineering) trainings.
8
+
Please head to [Teaching](teaching.md) for more information on using JabRef as teaching object and on previous courses where JabRef was used.
8
9
9
10
## How tos
10
11
@@ -17,7 +18,7 @@ The package `org.jabref.cli` is responsible for handling the command line option
17
18
18
19
During development, one can configure IntelliJ to pass command line paramters:
Passing command line arguments using gradle is currently not possible as all arguments \(such as `-Dfile.encoding=windows-1252`\) are passed to the application.
Copy file name to clipboardExpand all lines: docs/code-howtos.md
+1-3
Original file line number
Diff line number
Diff line change
@@ -227,13 +227,11 @@ Imagine you want to test the method `format(String value)` in the class `BracesF
227
227
testFormat() {
228
228
assertEqual("test", format("test"));
229
229
assertEqual("{test", format("{test"));
230
-
assertEqual("test", format("{{test"));
231
230
assertEqual("test", format("test}}"));
232
-
assertEqual("test", format("{{test}}"));
233
231
}
234
232
```
235
233
236
-
we would have five tests containing a single `assert` statement and named accordingly \(`formatDoesNotChangeStringWithoutBraces`, `formatDoesNotRemoveSingleBrace`, `formatRemovesDoubleBracesAtBeginning`, etc.\).See [JUnitAntiPattern](http://www.exubero.com/junit/antipatterns.html#Multiple_Assertions) for background.
234
+
we would have five tests containing a single `assert` statement and named accordingly \(`formatDoesNotChangeStringWithoutBraces`, `formatDoesNotRemoveSingleBrace`, , etc.\).See [JUnitAntiPattern](https://exubero.com/junit/anti-patterns/#Multiple_Assertions) for background.
237
235
238
236
*Do _not just test happy paths_, but also wrong/weird input.
239
237
*It is recommend to write tests _before_ you actually implement the functionality \(test driven development\).
Copy file name to clipboardExpand all lines: docs/code-quality.md
+1-7
Original file line number
Diff line number
Diff line change
@@ -11,10 +11,4 @@ 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.
14
+
The principles we follow to ensure high code quality in JabRef is stated at our [Development Strategy](development-strategy.md).
0 commit comments