Comments (4)
I think it is a good idea to move File and Folder from Famix-Generator.
But I don't understand why not using traits to manage it? There will still be a TWithFile trait, no?
Managing homogeneously things will be easier according to me. Starting to manage something through classes and other through traits will be the mess
from famix.
The idea of the generators is to be able to define multiple meta-models.
Traits are here to define concepts to reuse between multiple MMs.
I have the impression that things such as Tags, File representation, Duplication, etc are "options". Those options should be able to work with any MM and should not be part of the generator.
If we make them part of the generator, it means that we need to generate one MM for each combination of options the user might need. For example:
- Java Vanilla
- Java with tags
- Java with files
- Java with duplication
- Java with tags and files
- Java with tags and duplication
- Java with files and duplication
- Java with tags, files and duplication
- ...
It's the reason I think those "options" should be things defined only once and working for every MM if possible. In that case, we don't need traits since we do not need to share the behaviour to reuse between multiple MMs.
from famix.
A bit like MooseQuery, you propose to define these concepts independently of the MM?
I agree on the principle.
And I think we could add the metrics eventually that way.
Can you, please, explain a bit better what would be your solution of file management and how it is linked to Fame or Famix?
from famix.
What we could do for files and folders is to have classes FamixFile and FamixFolder with meta description.
Then, we could add as extensions of FamixTSourcedEntity the opposites that would be stored in the private state.
from famix.
Related Issues (20)
- Rework #numberOfComments? HOT 4
- Asking if an entity is a child or a parent of another entity HOT 5
- remove #flag: from FamixMetamodelBuilder >> getTraitNamed: HOT 1
- clarify baseline HOT 2
- It should not be possible to tag an entity several times HOT 3
- FamixJavaVisitor is outdated HOT 1
- Bug annotation type added to package HOT 2
- asOrderedCollection can't be used correctly for getting targets HOT 1
- Questions on Generics meta-model
- MooseGroup do not understand message `#collectWithIndex:`
- Why TComment uses TEntityMetaLevelDependency HOT 2
- add methods #newClassNamed: to FamixMetamodelGenerator
- Port new Generic modeling to FamixCpp
- Example method is not FamixJavaParametricMethod according to the documentation HOT 2
- simplify MooseObject>>#attributeAt: / #cacheAt: / propertyAt: HOT 7
- FamixStAttribute>>isSharedVariable is volatile
- CyclomaticComplexity of Pharo importer HOT 1
- Should FamixTFile be able to hold source text? HOT 1
- #mooseDescription not working with some entities with submetamodel HOT 2
- Generated methods in extension models are not cleaned by cleaner
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from famix.