[ 
https://issues.apache.org/jira/browse/ACCUMULO-658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adam Fuchs updated ACCUMULO-658:
--------------------------------

    Description: 
This ticket is a parent of several other tickets, under which we can discuss 
the merits of separating or grouping particular modules into more or fewer 
maven projects. Here's a list of pros and cons:

h6. Pros:
* Explicit modularity encourages reuse outside of Accumulo.
* Smaller projects encourage participation in coding project-local features.
* Projects like the shell and the monitor can be exemplars for new projects or 
applications built on top of Accumulo.
* Separating projects forces use of publicly accessible APIs instead of custom 
connections. This is a form of dogfooding, and helps code quality.

h6. Cons:
* More projects means more maven configuration, particularly in downstream 
projects that are dependent on multiple projects.
* Coding features across projects might be harder to comprehend and to test.
* In the extreme case, we may see public API bloat in order to support too 
diverse a set of projects.

Discuss...

  was:This ticket is a parent of several other tickets, under which we can 
discuss the merits of separating or grouping particular modules into more or 
fewer maven projects.

    
> refactor code into separate modules where appropriate
> -----------------------------------------------------
>
>                 Key: ACCUMULO-658
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-658
>             Project: Accumulo
>          Issue Type: Improvement
>            Reporter: Adam Fuchs
>
> This ticket is a parent of several other tickets, under which we can discuss 
> the merits of separating or grouping particular modules into more or fewer 
> maven projects. Here's a list of pros and cons:
> h6. Pros:
> * Explicit modularity encourages reuse outside of Accumulo.
> * Smaller projects encourage participation in coding project-local features.
> * Projects like the shell and the monitor can be exemplars for new projects 
> or applications built on top of Accumulo.
> * Separating projects forces use of publicly accessible APIs instead of 
> custom connections. This is a form of dogfooding, and helps code quality.
> h6. Cons:
> * More projects means more maven configuration, particularly in downstream 
> projects that are dependent on multiple projects.
> * Coding features across projects might be harder to comprehend and to test.
> * In the extreme case, we may see public API bloat in order to support too 
> diverse a set of projects.
> Discuss...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to