103
Stories About Renraku — the new Quality Model of Pharo @yuriy_tymchuk Software Composition Group

Stories About Renraku — the new Quality Model of Pharo

  • Upload
    esug

  • View
    218

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Stories About Renraku — the new Quality Model of Pharo

Stories About Renraku —the new Quality Model of Pharo

@yuriy_tymchukSoftware Composition Group

Page 2: Stories About Renraku — the new Quality Model of Pharo

Now. YT 25yoNow. YT 24yo

2006. YT 15yo

UnikernelFreelance Team

Helpdesk / Network Administrator ISP UARNet

Interlogic outsourcing SW company

Innocode SW company

Physics and Mathematics Lyceum

Minor Academy of Sciences of Ukraine

Bachelor in Informatics MScInf.

Ph.D.Lugano

RMoD internship

Page 3: Stories About Renraku — the new Quality Model of Pharo

Now. YT 25yoNow. YT 24yo

2006. YT 15yo

UnikernelFreelance Team

Helpdesk / Network Administrator ISP UARNet

Interlogic outsourcing SW company

Innocode SW company

Physics and Mathematics Lyceum

Minor Academy of Sciences of Ukraine

Bachelor in Informatics MScInf.

Ph.D.Lugano

RMoD internship

Ph.D.Bern

Page 4: Stories About Renraku — the new Quality Model of Pharo
Page 5: Stories About Renraku — the new Quality Model of Pharo

A Mistake

Page 6: Stories About Renraku — the new Quality Model of Pharo

A Mistake can be Solved EarlyA Mistake

Page 7: Stories About Renraku — the new Quality Model of Pharo
Page 8: Stories About Renraku — the new Quality Model of Pharo

How do you !nd QualityAssistant?

Page 9: Stories About Renraku — the new Quality Model of Pharo

Very disturbingDisturbingSometimes DisturbingNot influentialSometimes UsefulUsefulVery useful

How do you !nd QualityAssistant?

Page 10: Stories About Renraku — the new Quality Model of Pharo

Very disturbingDisturbingSometimes DisturbingNot influentialSometimes UsefulUsefulVery useful

46%

29%

17%

4%4%

How do you !nd QualityAssistant?

Page 11: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

Very disturbingDisturbingSometimes DisturbingNot influentialSometimes UsefulUsefulVery useful

How often do you use CriticBrowser?

Page 12: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

Very disturbingDisturbingSometimes DisturbingNot influentialSometimes UsefulUsefulVery useful

Don't KnowNeverYearlyMonthlyWeeklyDaily

24%

24%22%

11%

11%9%

How often do you use CriticBrowser?

Page 13: Stories About Renraku — the new Quality Model of Pharo
Page 14: Stories About Renraku — the new Quality Model of Pharo

Renraku

Page 15: Stories About Renraku — the new Quality Model of Pharo

ONE DOES NOT SIMPLY

“SHOW” RENRAKU

Page 16: Stories About Renraku — the new Quality Model of Pharo

The Origin

Page 17: Stories About Renraku — the new Quality Model of Pharo

Renraku

��

Page 18: Stories About Renraku — the new Quality Model of Pharo

Renraku

[|]Rule Code

Page 19: Stories About Renraku — the new Quality Model of Pharo

Renraku

[|]CritiqueRule Code

Page 20: Stories About Renraku — the new Quality Model of Pharo

The Vocabulary

Page 21: Stories About Renraku — the new Quality Model of Pharo

Renraku

[|]Rule CodeCritique

Page 22: Stories About Renraku — the new Quality Model of Pharo

English Language

CritiqueCritic

Page 23: Stories About Renraku — the new Quality Model of Pharo

English Language

CritiqueCritic

Page 24: Stories About Renraku — the new Quality Model of Pharo

English Language

CritiqueCritic

Page 25: Stories About Renraku — the new Quality Model of Pharo

Huge Refactoring

CritiqueCritic

ReTrivialCritic ReTrivialCritique

Page 26: Stories About Renraku — the new Quality Model of Pharo

Our Dog Food is Good

Page 27: Stories About Renraku — the new Quality Model of Pharo

Our Dog Food is Good!

Page 28: Stories About Renraku — the new Quality Model of Pharo

Death and Life

Page 29: Stories About Renraku — the new Quality Model of Pharo
Page 30: Stories About Renraku — the new Quality Model of Pharo

xx

Who Shoots the Assistant?

Page 31: Stories About Renraku — the new Quality Model of Pharo

Who is the Assistant?

Page 32: Stories About Renraku — the new Quality Model of Pharo

Who is the Assistant?

Page 33: Stories About Renraku — the new Quality Model of Pharo

This is not QualityAssistant

Page 34: Stories About Renraku — the new Quality Model of Pharo

This is not QualityAssistant

Page 35: Stories About Renraku — the new Quality Model of Pharo

Usage Contracts (2013)

Angela Lozano, Kim Mens, Andy Kellens

Page 36: Stories About Renraku — the new Quality Model of Pharo

Usage Contracts (2013)

Angela Lozano, Kim Mens, Andy Kellens

Page 37: Stories About Renraku — the new Quality Model of Pharo

Polycriticism

Page 38: Stories About Renraku — the new Quality Model of Pharo

Issue Tracker Connection

Page 39: Stories About Renraku — the new Quality Model of Pharo

Issue Tracker Connection

We want to link FogBugs issues to Pharo’s classes and methods. Can we display this information in QualityAssistant?

Page 40: Stories About Renraku — the new Quality Model of Pharo

Issue Tracker Connection

Sure!

Page 41: Stories About Renraku — the new Quality Model of Pharo

Issue Tracker Connection

Sure!

Just follow the Renraku protocol

Page 42: Stories About Renraku — the new Quality Model of Pharo

External Properties for Editor

by Juraj Kubelka

Page 43: Stories About Renraku — the new Quality Model of Pharo

External Properties for Editor

by Juraj Kubelka

Page 44: Stories About Renraku — the new Quality Model of Pharo

Feedback Loop

Page 45: Stories About Renraku — the new Quality Model of Pharo

Feedback

Page 46: Stories About Renraku — the new Quality Model of Pharo

RBInstVarInSubclassesRule

Page 47: Stories About Renraku — the new Quality Model of Pharo

RBInstVarInSubclassesRule„I have no idea what this rules does“

Page 48: Stories About Renraku — the new Quality Model of Pharo

RBInstVarInSubclassesRule„I have no idea what this rules does“

Page 49: Stories About Renraku — the new Quality Model of Pharo

RBInstVarInSubclassesRule„I have no idea what this rules does“

Page 50: Stories About Renraku — the new Quality Model of Pharo

RBInstVarInSubclassesRule„I have no idea what this rules does“

Page 51: Stories About Renraku — the new Quality Model of Pharo

RBInstVarInSubclassesRule„I have no idea what this rules does“

Page 52: Stories About Renraku — the new Quality Model of Pharo

RBInstVarInSubclassesRule„I have no idea what this rules does“

Page 53: Stories About Renraku — the new Quality Model of Pharo

The Demand Shapes the Model

Page 54: Stories About Renraku — the new Quality Model of Pharo

Started by the Message Browser

Page 55: Stories About Renraku — the new Quality Model of Pharo

We Need an Interval

self target class

Page 56: Stories About Renraku — the new Quality Model of Pharo

We Need an Interval

self target class

Page 57: Stories About Renraku — the new Quality Model of Pharo

Transform.

ParseTree

Block

Types of Rules

Transform.

ParseTree

Block

Page 58: Stories About Renraku — the new Quality Model of Pharo

Transform.

ParseTree

Block

Transform.

ParseTree

Block

Types of Rules

Page 59: Stories About Renraku — the new Quality Model of Pharo

Types of Rules

Transform.

ParseTree

Block

Page 60: Stories About Renraku — the new Quality Model of Pharo

Types of Rules

Transform.

ParseTree

Block

'Smalltalk ui icons iconNamed: `#aSymbol'

Page 61: Stories About Renraku — the new Quality Model of Pharo

Types of Rules

Transform.

ParseTree

Block

^ GLMGenericAction new icon: (Smalltalk ui icons iconNamed: #stop); action: [ self halt ].

'Smalltalk ui icons iconNamed: `#aSymbol'

Page 62: Stories About Renraku — the new Quality Model of Pharo

Types of Rules

Transform.

ParseTree

Block

^ GLMGenericAction new icon: (Smalltalk ui icons iconNamed: #stop); action: [ self halt ].

'Smalltalk ui icons iconNamed: `#aSymbol'

Page 63: Stories About Renraku — the new Quality Model of Pharo

Types of Rules

Transform.

ParseTree

Block

^ GLMGenericAction new icon: (Smalltalk ui icons iconNamed: #stop); action: [ self halt ].

'Smalltalk ui icons iconNamed: `#aSymbol'

'`#aSymbol asIcon'

Page 64: Stories About Renraku — the new Quality Model of Pharo

Types of Rules

Transform.

ParseTree

Block

^ GLMGenericAction new icon: (Smalltalk ui icons iconNamed: #stop); action: [ self halt ].

'Smalltalk ui icons iconNamed: `#aSymbol'

'`#aSymbol asIcon'

^ GLMGenericAction new icon: (#stop asIcon); action: [ self halt ].

Page 65: Stories About Renraku — the new Quality Model of Pharo
Page 66: Stories About Renraku — the new Quality Model of Pharo

Node-based Critiques

Page 67: Stories About Renraku — the new Quality Model of Pharo

Node-based Critiques

Page 68: Stories About Renraku — the new Quality Model of Pharo

Node-based Critiques

Page 69: Stories About Renraku — the new Quality Model of Pharo

Node-based Critiques

Page 70: Stories About Renraku — the new Quality Model of Pharo

Transform.

ParseTree

Block

Transform.

ParseTree

Block

Interval Support

Page 71: Stories About Renraku — the new Quality Model of Pharo

The Point of No Return

Page 72: Stories About Renraku — the new Quality Model of Pharo

CriticBrowser on Renraku

Page 73: Stories About Renraku — the new Quality Model of Pharo

Old Highlight

Page 74: Stories About Renraku — the new Quality Model of Pharo

Highlight Based on AST

Page 75: Stories About Renraku — the new Quality Model of Pharo

Useless Output

Page 76: Stories About Renraku — the new Quality Model of Pharo

Custom Auto!x

Page 77: Stories About Renraku — the new Quality Model of Pharo

Auto!x by Refactoring…

Page 78: Stories About Renraku — the new Quality Model of Pharo

Same Preview as in QA

Page 79: Stories About Renraku — the new Quality Model of Pharo

Auto!x by Refactoring…

Page 80: Stories About Renraku — the new Quality Model of Pharo

RePropertyAction new icon: #smallWindow asIcon; description: 'Open dependency analyzer'; action: [ :crit :package | self openDependencyAnalyzerOn: package ]; yourself

Architectural Action

Page 81: Stories About Renraku — the new Quality Model of Pharo

Architectural Action

Page 82: Stories About Renraku — the new Quality Model of Pharo

Architectural Action

Page 83: Stories About Renraku — the new Quality Model of Pharo

Documentation :)

Page 84: Stories About Renraku — the new Quality Model of Pharo

System’s Help Browser

Page 85: Stories About Renraku — the new Quality Model of Pharo

Here’s to the Contributors!

Page 86: Stories About Renraku — the new Quality Model of Pharo

Marcus Denker

Here’s to the Contributors!

Page 87: Stories About Renraku — the new Quality Model of Pharo

Nicolai HessMarcus Denker Henrik Nergaard

Here’s to the Contributors!

Page 88: Stories About Renraku — the new Quality Model of Pharo

Nicolai HessMarcus Denker Henrik Nergaard

and others…

Here’s to the Contributors!

Page 89: Stories About Renraku — the new Quality Model of Pharo

Now. YT 25yo

2006. YT 15yo

UnikernelFreelance Team

Helpdesk / Network Administrator ISP UARNet

Interlogic outsourcing SW company

Innocode SW company

Physics and Mathematics Lyceum

Minor Academy of Sciences of Ukraine

Bachelor in Informatics MScInf.

Ph.D.Lugano

RMoD internship

Ph.D.Bern

Page 90: Stories About Renraku — the new Quality Model of Pharo

Now. YT 25yo

2006. YT 15yo

UnikernelFreelance Team

Helpdesk / Network Administrator ISP UARNet

Interlogic outsourcing SW company

Innocode SW company

Physics and Mathematics Lyceum

Minor Academy of Sciences of Ukraine

Bachelor in Informatics MScInf.

Ph.D.Lugano

RMoD internship

Ph.D.Bern

Page 91: Stories About Renraku — the new Quality Model of Pharo
Page 92: Stories About Renraku — the new Quality Model of Pharo
Page 93: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

Page 94: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

Actionability

Page 95: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

ActionabilityCritiques in Monkey

Page 96: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

ActionabilityCritiques in Monkey

Better Feedback

Page 97: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

Code Properties

ActionabilityCritiques in Monkey

Better Feedback

Page 98: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

Code Properties

ActionabilityCritiques in Monkey

Object Critiques

Better Feedback

Page 99: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

Code Properties

ActionabilityCritiques in Monkey

Object CritiquesCritiques in Debugger

Better Feedback

Page 100: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

Code Properties

ActionabilityCritiques in Monkey

Object CritiquesCritiques in Debugger

Better FeedbackRule Developer-friendliness

Page 101: Stories About Renraku — the new Quality Model of Pharo

46%

29%

17%

4%4%

Code Properties

ActionabilityCritiques in Monkey

Object Critiques

Usage Analysis

Critiques in Debugger

Better FeedbackRule Developer-friendliness

Page 102: Stories About Renraku — the new Quality Model of Pharo

Usage Analysis

46%

29%

17%

4%4%

Object Critiques

Better Feedback

Code Properties

Critiques in Debugger

ActionabilityCritiques in Monkey

Rule Developer-friendliness

Continuos Refactoring

Page 103: Stories About Renraku — the new Quality Model of Pharo

��

RENRAKU

object-agnostic

tool-agnostic

engine-agnostic

yet connecting everything

@yuriy_tymchuk

Stories About Renraku —the new Quality Model of Pharo