On 13.06.2013 08:15, Abhinav M Kulkarni wrote:
> Hi,
> 
> I have recently started exploring codebase for Mahout and I have questions
> about the code organization and javadocs. Some of these questions might
> stem out of my ignorance about Mahout and code structure in maven-based
> projects.
> 
> 
>    1. Why isn't there single src/main/java directory?

It is good practice to separate the codebase into different modules.
This allows for a clear separation of concerns and easier packaging and
dependency management.

>    2. I see that there are different code hierarchies for 'core', 'math'
>    and other modules such as 'examples' and 'integration'. But I also see
>    some math code inside core/src/main/java/org/apache/mahout/math. Why is
>    this so? For e.g. both classes VectorWritable and
> SequentialAccessSparseVector
>    are in package org.apache.mahout.math, however exist in code hierarchies
>    of core and math.

The math package in the core module contains code that depends on
Hadoop. We decided to not move this into the math module because we want
the math module to be usable independently without a dependency on Hadoop.

>    3. As a result all these separate code hierarchies have their own
>    javadocs. However, the javadoc on the Mahout website only lists
>    documentation and classes from 'core' hierarchy. For e.g. neither is
>    SequentialAccessSparseVector listed on the Mahout javadoc nor can it be
>    even found under the package org.apache.mahout.math in the javadoc.

Good point, this is something that needs to be changed.

> 
> Thanks,
> 
> Abhinav
> 

Reply via email to