Coder Social home page Coder Social logo

Comments (4)

anneetien avatar anneetien commented on August 15, 2024

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.

jecisc avatar jecisc commented on August 15, 2024

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.

anneetien avatar anneetien commented on August 15, 2024

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.

jecisc avatar jecisc commented on August 15, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.