Kellen Sunderland created JOSHUA-266:
----------------------------------------
Summary: Refactor key interfaces and core code for a future
release.
Key: JOSHUA-266
URL: https://issues.apache.org/jira/browse/JOSHUA-266
Project: Joshua
Issue Type: Improvement
Reporter: Kellen Sunderland
Priority: Minor
We've discussed making some modifications to the key interfaces. This ticket
can focus on making large changes to the codebase for a future release. This
work will likely take some time and some collaboration. I'd suggest some the
code for this be a separate release branch.
Some issues we can work on:
* I'd propose we conform to the SOLID principles for our major interfaces.
https://en.wikipedia.org/wiki/SOLID_(object-oriented_design) .
* We can look at Sparse / Dense feature vectors and how to handle them
naturally in Joshua.
* Refactor objects that may now be used more broadly than was originally
intended (for example Vocabulary class).
* We should have a general discussion around what parts of the codebase are
responsible for what functions. We should clearly define what logic should be
a part of the Grammar versus the Feature Functions for example, and make sure
logic doesn't leak from one of these objects to the others.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)