Skip to content

Latest commit

 

History

History
43 lines (37 loc) · 2.47 KB

ROADMAP.md

File metadata and controls

43 lines (37 loc) · 2.47 KB

Roadmap

The following fuzzy roadmap should show the direction in which this project is heading.

0.7.0 (Initial public release)

  • File scan support for 8 languages (C, Groovy, Java, JavaScript, Kotlin, ObjC, Ruby, Swift)
  • Basic entity scan/extraction for 4 languages (Groovy, Java, Kotlin, Swift)
  • Basic implementation for 4 software metrics (SLOC, Number of Methods, Fan-In/Fan-Out, Modularity)
  • Basic logging support with configurable log levels
  • Configuration support based on YAML syntax to configure multiple/specific analyses
  • Basic export of results/metrics for the following formats/outout
    • Code dependency, inheritance and complete graph (enriched with scan results/metrics)
    • Export of scan results/metric and statistics as
      • Tabular console output
      • Tabular file output
      • JSON file output
  • Basic unit test cases (tests directory in the project root) that covers some code of the language parsers, metrics and config, can be either included in the IDE as test cases or run directly from run_tests.py
  • Example configuration templates for the currently supported languages
  • Basic Visual Studio Code config (.vscode directory in the project root)
  • Standalone python file emerge.py that can perform all the described functionality

0.7.1 - 1.x.0 (Further releases/ideas/unsorted)

  • increase languages/parser precision for entity scan/extraction
  • extend entity scan/extraction for further languages
  • include framework import dependencies in swift
  • write parser for further languages e.g. golang, rust, c++, python
  • add more metrics for every language (e.g. McCabe, cognitive complexity (https://blog.sonarsource.com/cognitive-complexity-because-testability-understandability), depth of inheritance tree, ...)
  • implement a better web application export for D3 force graph simulation and interactive analysis
  • implement a version/package that can easily be installed by using pip
  • identify and fix more bugs 🐞
  • add more/better unit tests
  • increase docstring coverage to 80%
  • any good ideas from contributors