You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@joshua.apache.org by "Kellen Sunderland (JIRA)" <ji...@apache.org> on 2016/05/13 21:34:13 UTC

[jira] [Created] (JOSHUA-265) Refactor key interfaces and core code for a future release.

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)