[ 
https://issues.apache.org/jira/browse/FELIX-4848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14488112#comment-14488112
 ] 

Christian Schneider commented on FELIX-4848:
--------------------------------------------

I did not mention any rule but 2300 lines is far beyond any limits I have seen 
recently. Of course you are right that simply splitting a class in half would 
not work if then the two classes are highly entangled.
I checked the dependencies before proposing the split. 
ResolverImpl would have 3 calls to ConsistencyCheck and there would be no calls 
in the other direction.
So it would be possible to understand ConsistencyCheck individually. Besides 
that the scope is also nicely described by the class name.

> Split ResolverImpl
> ------------------
>
>                 Key: FELIX-4848
>                 URL: https://issues.apache.org/jira/browse/FELIX-4848
>             Project: Felix
>          Issue Type: Improvement
>          Components: Resolver
>    Affects Versions: resolver-1.0.0
>            Reporter: Christian Schneider
>             Fix For: resolver-1.2.0
>
>
> ResolverImpl currently contains about 2300 lines of code. That is way too big 
> for a single class.
> I looked into it and found that the checkDynamicPackageSpaceConsistency and 
> checkPackageSpaceConsistency methods and their dependent methods form a nice 
> subset. I would move that into a class ConsistencyCheck.
> Both would share all of the inner classes of ResolverImpl but nothing else. 
> So I think i would make sense to move these inner classes to separate files.
> These changes should nicely split the classes into 
> ResolverImpl : 1400 lines
> ConsistencyCheck : 600 lines



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to