Upload
esug
View
218
Download
2
Embed Size (px)
Citation preview
Stories About Renraku —the new Quality Model of Pharo
@yuriy_tymchukSoftware Composition Group
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
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
A Mistake
A Mistake can be Solved EarlyA Mistake
How do you !nd QualityAssistant?
Very disturbingDisturbingSometimes DisturbingNot influentialSometimes UsefulUsefulVery useful
How do you !nd QualityAssistant?
Very disturbingDisturbingSometimes DisturbingNot influentialSometimes UsefulUsefulVery useful
46%
29%
17%
4%4%
How do you !nd QualityAssistant?
46%
29%
17%
4%4%
Very disturbingDisturbingSometimes DisturbingNot influentialSometimes UsefulUsefulVery useful
How often do you use CriticBrowser?
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?
Renraku
ONE DOES NOT SIMPLY
“SHOW” RENRAKU
The Origin
Renraku
��
Renraku
[|]Rule Code
Renraku
[|]CritiqueRule Code
The Vocabulary
Renraku
[|]Rule CodeCritique
English Language
CritiqueCritic
English Language
CritiqueCritic
English Language
CritiqueCritic
Huge Refactoring
CritiqueCritic
ReTrivialCritic ReTrivialCritique
Our Dog Food is Good
Our Dog Food is Good!
Death and Life
xx
Who Shoots the Assistant?
Who is the Assistant?
Who is the Assistant?
This is not QualityAssistant
This is not QualityAssistant
Usage Contracts (2013)
Angela Lozano, Kim Mens, Andy Kellens
Usage Contracts (2013)
Angela Lozano, Kim Mens, Andy Kellens
Polycriticism
Issue Tracker Connection
Issue Tracker Connection
We want to link FogBugs issues to Pharo’s classes and methods. Can we display this information in QualityAssistant?
Issue Tracker Connection
Sure!
Issue Tracker Connection
Sure!
Just follow the Renraku protocol
External Properties for Editor
by Juraj Kubelka
External Properties for Editor
by Juraj Kubelka
Feedback Loop
Feedback
RBInstVarInSubclassesRule
RBInstVarInSubclassesRule„I have no idea what this rules does“
RBInstVarInSubclassesRule„I have no idea what this rules does“
RBInstVarInSubclassesRule„I have no idea what this rules does“
RBInstVarInSubclassesRule„I have no idea what this rules does“
RBInstVarInSubclassesRule„I have no idea what this rules does“
RBInstVarInSubclassesRule„I have no idea what this rules does“
The Demand Shapes the Model
Started by the Message Browser
We Need an Interval
self target class
We Need an Interval
self target class
Transform.
ParseTree
Block
Types of Rules
Transform.
ParseTree
Block
Transform.
ParseTree
Block
Transform.
ParseTree
Block
Types of Rules
Types of Rules
Transform.
ParseTree
Block
Types of Rules
Transform.
ParseTree
Block
'Smalltalk ui icons iconNamed: `#aSymbol'
Types of Rules
Transform.
ParseTree
Block
^ GLMGenericAction new icon: (Smalltalk ui icons iconNamed: #stop); action: [ self halt ].
'Smalltalk ui icons iconNamed: `#aSymbol'
Types of Rules
Transform.
ParseTree
Block
^ GLMGenericAction new icon: (Smalltalk ui icons iconNamed: #stop); action: [ self halt ].
'Smalltalk ui icons iconNamed: `#aSymbol'
Types of Rules
Transform.
ParseTree
Block
^ GLMGenericAction new icon: (Smalltalk ui icons iconNamed: #stop); action: [ self halt ].
'Smalltalk ui icons iconNamed: `#aSymbol'
'`#aSymbol asIcon'
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 ].
Node-based Critiques
Node-based Critiques
Node-based Critiques
Node-based Critiques
Transform.
ParseTree
Block
Transform.
ParseTree
Block
Interval Support
The Point of No Return
CriticBrowser on Renraku
Old Highlight
Highlight Based on AST
Useless Output
Custom Auto!x
Auto!x by Refactoring…
Same Preview as in QA
Auto!x by Refactoring…
RePropertyAction new icon: #smallWindow asIcon; description: 'Open dependency analyzer'; action: [ :crit :package | self openDependencyAnalyzerOn: package ]; yourself
Architectural Action
Architectural Action
Architectural Action
Documentation :)
System’s Help Browser
Here’s to the Contributors!
Marcus Denker
Here’s to the Contributors!
Nicolai HessMarcus Denker Henrik Nergaard
Here’s to the Contributors!
Nicolai HessMarcus Denker Henrik Nergaard
and others…
Here’s to the Contributors!
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
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
46%
29%
17%
4%4%
46%
29%
17%
4%4%
Actionability
46%
29%
17%
4%4%
ActionabilityCritiques in Monkey
46%
29%
17%
4%4%
ActionabilityCritiques in Monkey
Better Feedback
46%
29%
17%
4%4%
Code Properties
ActionabilityCritiques in Monkey
Better Feedback
46%
29%
17%
4%4%
Code Properties
ActionabilityCritiques in Monkey
Object Critiques
Better Feedback
46%
29%
17%
4%4%
Code Properties
ActionabilityCritiques in Monkey
Object CritiquesCritiques in Debugger
Better Feedback
46%
29%
17%
4%4%
Code Properties
ActionabilityCritiques in Monkey
Object CritiquesCritiques in Debugger
Better FeedbackRule Developer-friendliness
46%
29%
17%
4%4%
Code Properties
ActionabilityCritiques in Monkey
Object Critiques
Usage Analysis
Critiques in Debugger
Better FeedbackRule Developer-friendliness
Usage Analysis
46%
29%
17%
4%4%
Object Critiques
Better Feedback
Code Properties
Critiques in Debugger
ActionabilityCritiques in Monkey
Rule Developer-friendliness
Continuos Refactoring
��
RENRAKU
object-agnostic
tool-agnostic
engine-agnostic
yet connecting everything
@yuriy_tymchuk
Stories About Renraku —the new Quality Model of Pharo