Clusters are pretty good as well because anyone looking in their NetBeans installation directory will see them reflected there.
Gj On Sunday, August 19, 2018, Jan Lahoda <[email protected]> wrote: > My personal opinion: clusters are an organization we already have in place, > one based on some criteria. There may be some imperfection, but it is hard > to imagine an organization that would not have any. Choosing another > organization means someone will need to lead a discussion, pick criteria, > pick group names, pick modules that belong to individual groups, etc. This > is likely to lead to a bikeshed. So, unless there's someone (Tim?) who > wants do that work, using clusters seems to make sense. > > I don't foresee too many moves of modules from one cluster to another, and > if that happens, it is a matter of running "git mv", does not feel like it > should be too hard to move modules from one cluster to another. > > Jan > > > On Sun, Aug 19, 2018 at 7:08 AM, Tim Boudreau <[email protected]> wrote: > > > > > > > Clusters form the distribution and functional unit of Apache NetBeans. > > > With > > > the introduction of ergonomics they are becoming quite visible even for > > > end > > > users. In no way I'd dare to call them arbitrary. > > > > > > > Exactly. They are a unit of binary *packaging*. Which makes them a > > strange tool for organizing units of *code*, which might or might not map > > to the dependency graph within the code. > > > > If you are a developer trying to figure out what is what, which seems to > me > > to be the actual target audience for any organizational schema for a > large > > project, a more useful split might be (off the top of my head, looking > at a > > directory listing of my checkout) something like: > > > > - Platform > > - Editor > > - Editing > > - VersionControl > > - Projects > > - BuildTools > > - Languages / Java | Javascript | XML | ... > > - Utilities > > - LibraryWrappers > > - Testing > > - Building > > - Debugging > > - ... maybe another category or two > > > > No taxonomy will be perfect - there will always be modules that could > make > > some sense in more than one category. But short of representing the > > dependency graph as a symlink farm, nothing will be. The dependency > graph > > is reality. Everything else is an arbitrary layer someone invented to > make > > things easier to understand. So we might as well make it a layer > designed > > to be understood by the target audience of code - developers - rather > than > > the packaging units that were convenient for end users of the IDE. > > > > However that cannot be said about cluster based subdirectories - they > > > provide > > > a deterministic structure. The location of sources will actually match > > > their > > > final placement in the product. At the end it may actually be easier > for > > > developers to find the module they search for. > > > > > > > I was one of the people who pushed hardest for cluster-based > distributions > > - the whole "module packs" thing. It is *an* organization of things, but > > the contents was more driven by marketing concerns - what modules did we > > believe users wanted all or none of. There's nothing deterministic about > > that - it was decided by a combination of intuition, user research and > > technical needs, and all but the last are subject to change. > > > > -Tim > > > > -- > > http://timboudreau.com > > >
