Kellen Sunderland created JOSHUA-265: ----------------------------------------
Summary: Refactor key interfaces and core code for a future release. Key: JOSHUA-265 URL: https://issues.apache.org/jira/browse/JOSHUA-265 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)