moosetechnology / FamixTagging

A Famix extension to be able to tag entities.
MIT License
0 stars 1 forks source link

review the FamixTag / subtag model ? #20

Open NicolasAnquetil opened 2 years ago

NicolasAnquetil commented 2 years ago

currently tags can have sub-tags, but this is not a clear model:

For now, it seems a simple model with categories, tags, and no sub-tags is enough to fulfill many needs.

jecisc commented 2 years ago

Hi,

In the use of tags currently, a subtag is a subconcept of a tag.

If we have a tag Car and a subtag SteeringWheel, if we tag something with SteeringWheel we do not need to tag it with Car also. It should be implicit that if something is tagged with a subconcept, then it is also part of the higher-level concept.

This was useful to split god classes. Maybe it's overkill for other uses.

NicolasAnquetil commented 2 years ago

OK, thanks a lot for reminding this. Do you remember what was exactly the scenario (how it was used to split god class) ? To try to see if we can do the same thing in some other way (see also moosetechnology/FamixTagging#18)

jecisc commented 2 years ago

The concept of nested tags is used to represent composite entities.

For example if we want to rearchitect something to have a package A containing a class B containing a method C but currently in the real code we have only a method C we can create a tag A with a subtag B that tags C.