Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ViDI - The Visual Design Inspector (fosdem2015)

ViDI - The Visual Design Inspector (fosdem2015)

Presentation of a new view on software quality, ViDI tool and Gotham prototype.

Yuriy Tymchuk

February 01, 2015
Tweet

More Decks by Yuriy Tymchuk

Other Decks in Programming

Transcript

  1. ViDI
    Visual Design Inspector
    R A
    E E L
    V
    Yuriy Tymchuk
    Michele Lanza

    View Slide

  2. Quality

    View Slide

  3. A Bit About Health

    View Slide

  4. View Slide

  5. SOMETHING IS WRONG!!!

    View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. Weight (kg)
    75
    81
    88
    94
    100
    Fat Weight (%)
    0
    4
    9
    13
    17
    What are you
    getting rid of?

    View Slide

  10. Calcium Level in a Body

    View Slide

  11. Calcium Level in a Body
    DANGER!

    View Slide

  12. View Slide

  13. View Slide

  14. blocked veins
    torn tissue
    broken bone
    lethal
    intoxication
    TIME TO LIVE: 2H

    View Slide

  15. View Slide

  16. Code quality state of art?

    View Slide

  17. View Slide

  18. Package
    Class
    Method

    View Slide

  19. Package
    Class
    Method
    Foreign Class

    View Slide

  20. Package
    Class
    Method
    Foreign Class
    Less Critics

    View Slide

  21. Package
    Class
    Method
    Foreign Class
    More Critics
    Less Critics

    View Slide

  22. View Slide

  23. Is SmallLint good?

    View Slide

  24. Can you spot the quality difference?

    View Slide

  25. SmallLint can!


    View Slide

  26. aClass is large
    (NumberOfMethods veryHighFor: aClass) or:
    (NumberOfInstVars veryHighFor: aClass) or: (
    (NumberOfMethods highFor: aClass) and:
    (NumberOfInstVars highFor: aClass)
    )

    View Slide

  27. aClass is large
    (NumberOfMethods veryHighFor: aClass) or:
    (NumberOfInstVars veryHighFor: aClass) or: (
    (NumberOfMethods highFor: aClass) and:
    (NumberOfInstVars highFor: aClass)
    )
    0 1
    0.5

    View Slide

  28. aClass is large
    (NumberOfMethods veryHighFor: aClass) or:
    (NumberOfInstVars veryHighFor: aClass) or: (
    (NumberOfMethods highFor: aClass) and:
    (NumberOfInstVars highFor: aClass)
    )
    0 1
    0.5 ?

    View Slide

  29. Gotham DEMO

    View Slide

  30. and more…
    http://vidi.inf.usi.ch
    https://github.com/Uko/Vidi
    [email protected]
    @yuriy_tymchuk
    "

    View Slide