2017 © Pedro Peláez
 

cli mondrian

Mondrian is a set of static analysis and refactoring tools for more abstraction

image

trismegiste/mondrian

Mondrian is a set of static analysis and refactoring tools for more abstraction

  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 18 Forks
  • 8 Open issues
  • 7 Versions
  • 3 % Grown

The README.md

Mondrian Build Status

Ok guyz, you have a master degree in Graph Theory, you follow Law of Demeter and you live on S.O.L.I.D principles ?, (*1)

Let's have some Fun ! (^ω^), (*2)

What

It is a set of CLI tools to help you to analyse and refactor highly coupled classes. As you know Law of Demeter and S.O.L.I.D guidances, you need your classes loosely coupled. And for this, there is one only rule : ABSTRACTION, (*3)

From Hell To Kiss, (*4)

This app provides some helpers to add abstraction into concrete classes with minimum pain., (*5)

Getting started

Download the PHAR : mondrian.phar, (*6)

Try to run a simple command with a few files (or a small part of a project), (*7)

$ mondrian.phar digraph /home/dev/project

This command produces a DOT file for GraphViz. Other formats are available : * html : interactive graph with the d3.js awesome library * svg : open standard for vector graphics (requires GraphViz) * json : format for d3.js for example, (*8)

Example with html format

$ php mondrian.php d --ignore=tests --ignore=vendor --format=html ./MyPhpProject/

html-report, (*9)

Note: The generated html file does not require any dependencies nor a connection., (*10)

Ecosystem

Running unit tests with PHPUnit, (*11)

$ phpunit.phar

Building the documentation with phpDocumentor, (*12)

$ phpDocumentor.phar

Building mondrian.phar from the sources with box2, (*13)

$ box.phar b

Examples

Default digraph on trismegiste/dokudoki

digraph1, (*14)

Which components are bottleneck ?

digraph2, (*15)

Reduced graph to LSP violations on trismegiste/prolog

digraph3, (*16)

How

Read the concept [here][12], (*17)

Read the online documentation here, (*18)

And the API here (not up to date), (*19)

Extensible

You can easily add plugins to this tool to make your own algorithm, coloring scheme or new generator. I try to make the API mostly decoupled, re-usable and with great SRP and OCP concerns. Look into the "About" plugin to understand a basic stub of plugin., (*20)

Third party

Packages used in this project :, (*21)

Special thanks

  • William Gibson
  • JS Bach
  • Dream Theater

The Versions

16/09 2014

dev-master

9999999-dev

Mondrian is a set of static analysis and refactoring tools for more abstraction

  Sources   Download

CC-BY-SA-3.0

The Requires

 

code abstract static analysis metrics graph refactoring

16/09 2014

v1.3.3

1.3.3.0

Mondrian is a set of static analysis and refactoring tools for more abstraction

  Sources   Download

CC-BY-SA-3.0

The Requires

 

code abstract static analysis metrics graph refactoring

12/09 2014

v1.3.2

1.3.2.0

Mondrian is a set of static analysis and refactoring tools for more abstraction

  Sources   Download

CC-BY-SA-3.0

The Requires

 

code abstract static analysis metrics graph refactoring

11/09 2014

v1.3.1

1.3.1.0

Mondrian is a set of static analysis and refactoring tools for more abstraction

  Sources   Download

CC-BY-SA-3.0

The Requires

 

code abstract static analysis metrics graph refactoring

09/09 2014

v1.2.5

1.2.5.0

Mondrian is a set of static analysis and refactoring tools for more abstraction

  Sources   Download

CC-BY-SA-3.0

The Requires

 

code abstract static analysis metrics graph refactoring

09/09 2014

v1.2.4

1.2.4.0

Mondrian is a set of static analysis and refactoring tools for more abstraction

  Sources   Download

CC-BY-SA-3.0

The Requires

 

code abstract static analysis metrics graph refactoring

10/05 2013

1.1.0

1.1.0.0

Mondrian is a set of static analysis and refactoring tools for more abstraction

  Sources   Download

CC-BY-SA-3.0

The Requires

 

code abstract static analysis metrics graph refactoring