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
There is a lot of scope for improvement in code quality in JabRef's OpenOffice/LibreOffice integration components to make it much more maintainable. These include, but are not limited to:
Unification of error handling mechanism for JabRef-OOdoc interaction: Currently there exists a mix of returning Optional, throwing exceptions, and using OOResult/OOVoidResult. We can standardize the error handling approaches for consistency.
Use of Dependency Injection
Break down large methods like guiActionInsertEntry()
Use more constants instead of magic strings e.g. as used in the error messages
Use of built-in functional interfaces: for methods that take Supplier<OOError> as parameters - will improve code clarity
Use of modern Java features like streams and optional chaining
Separation of concerns: classes such as OOBibBase handle both business logic and UI interactions. We can consider extracting UI-related code into a separate class or layer.
Inner classes like ComparableMark can be converted to record classes.
Unification of backend for CSL and JStyles (Optional, and a big project - I am fine with all the CSL logic being separate due to the difference in code philosophy and time required for unification).
I will be working on this, so will be using this issue to track the state/progress.
The list is not yet complete, so will be updated from time to time as I come across more scopes for improvements.
The text was updated successfully, but these errors were encountered:
Project: Refactor JabRef-OpenOffice components
There is a lot of scope for improvement in code quality in JabRef's OpenOffice/LibreOffice integration components to make it much more maintainable. These include, but are not limited to:
OOResult
/OOVoidResult
. We can standardize the error handling approaches for consistency.guiActionInsertEntry()
Supplier<OOError>
as parameters - will improve code clarityOOBibBase
handle both business logic and UI interactions. We can consider extracting UI-related code into a separate class or layer.ComparableMark
can be converted to record classes.I will be working on this, so will be using this issue to track the state/progress.
The list is not yet complete, so will be updated from time to time as I come across more scopes for improvements.
The text was updated successfully, but these errors were encountered: