[
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