Re: duplicate class names in ASF Java projects
sebb <[email protected]> Fri, 21 Mar 2014 13:58:31 +0000
| Newsgroups | gmane.comp.apache.community |
|---|---|
| Message-ID | <CAOGo0VY_YSCjO1EEPo5nF+_y9EwHuZxh5Ly+5fB8kNXQeE1j_Q@mail.gmail.com> |
On 21 March 2014 04:49, Pawel Slusarz <[email protected]> wrote: > Greetings, > > When looking at the Apache SF Java projects as a group, I noticed that a > large number of projects have duplicate class names, ie > both openejb and tomee have a class named > jug.client.command.api.AbstractCommand > > When edge cases, ie test.Foo and tomcat55, tomcat60, tomcat70 get > eliminated, it still appears that the practice of code sharing by > drag-drop-modify is quite prevalent. Over 14,000 (out of 165,000) > classes were shared that way in the ecosystem, and 103 projects (out of > 300) are affected. Note that sanselan was renamed as commons imaging. However the package names were also changed so I'm not sure why they are shown as duplicates. sanselan: org.apache.sanselan imaging: org.apache.commons.imaging Perhaps the information has been derived from SVN rather than the published releases. In which case I suspect there are a lot of false positives. Not all SVN (or Git) source code is part of a release, and source code may go through various name changes. > Sometimes a measurement and visualization is all it takes to realize a > problem and begin fixing it. Below is raw data that can help understand > better what and how is happening: > > http://pslusarz.github.io/archeology3d/research/apache/conflicting-classes/index.html > > Hope this is the right place to engage in this sort of conversation. > > Paul Slusarz > > PS: Who am I and what's my agenda? I am interested in looking at large > codebases in search of patterns. I picked Apache SF, because, unlike my > company code, the data can be independently verified. The issue with > conflicting class names became apparent as I was trying to identify and > understand classes that are shared in this ecosystem. Some more > background on this approach can be found on my blog: > http://10kftcode.blogspot.com/ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] >