Soumettre la recherche
Mettre en ligne
Connascence hunting
•
Télécharger en tant que ODP, PDF
•
0 j'aime
•
1,182 vues
Kevin Rutherford
Suivre
Slides from a workshop I ran at CodeCraftConf 2016.
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 16
Télécharger maintenant
Recommandé
Stephen King Jeopardy Game
Stephen King Jeopardy Game
The Unquiet Library: Student Work
Weaving Our Stories Through Manga and Comics
Weaving Our Stories Through Manga and Comics
yuriconalc
Fantastic poems
Fantastic poems
Strawberry Park
Easy a
Easy a
siobhanarnold
Horror Idea
Horror Idea
hurtwoodhousemedia5
Famke Janssen Presentation
Famke Janssen Presentation
maryan1862
Ideas in writing 2019
Ideas in writing 2019
nstearns
Anime Movie.pdf
Anime Movie.pdf
ShrutiRai44
Recommandé
Stephen King Jeopardy Game
Stephen King Jeopardy Game
The Unquiet Library: Student Work
Weaving Our Stories Through Manga and Comics
Weaving Our Stories Through Manga and Comics
yuriconalc
Fantastic poems
Fantastic poems
Strawberry Park
Easy a
Easy a
siobhanarnold
Horror Idea
Horror Idea
hurtwoodhousemedia5
Famke Janssen Presentation
Famke Janssen Presentation
maryan1862
Ideas in writing 2019
Ideas in writing 2019
nstearns
Anime Movie.pdf
Anime Movie.pdf
ShrutiRai44
Making the most of autism
Making the most of autism
Kevin Rutherford
Evolving the Kanban Board
Evolving the Kanban Board
Kevin Rutherford
Don't forget the developers!
Don't forget the developers!
Kevin Rutherford
Love and death
Love and death
Kevin Rutherford
The 5-day challenge
The 5-day challenge
Kevin Rutherford
Red, green, ... what now?!
Red, green, ... what now?!
Kevin Rutherford
Pair programming
Pair programming
Kevin Rutherford
Tdd is dead
Tdd is dead
Kevin Rutherford
Hex arch
Hex arch
Kevin Rutherford
Shepherding antipatterns
Shepherding antipatterns
Kevin Rutherford
Kata rules
Kata rules
Kevin Rutherford
Movie app kata
Movie app kata
Kevin Rutherford
Object discovery
Object discovery
Kevin Rutherford
Connascence
Connascence
Kevin Rutherford
OCP Checkout kata
OCP Checkout kata
Kevin Rutherford
OCP bowling kata
OCP bowling kata
Kevin Rutherford
OCP String Calculator kata
OCP String Calculator kata
Kevin Rutherford
OCP kata overview
OCP kata overview
Kevin Rutherford
Telling not-asking
Telling not-asking
Kevin Rutherford
Uml
Uml
Kevin Rutherford
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
Jhone kinadey
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
ayushiqss
Contenu connexe
Plus de Kevin Rutherford
Making the most of autism
Making the most of autism
Kevin Rutherford
Evolving the Kanban Board
Evolving the Kanban Board
Kevin Rutherford
Don't forget the developers!
Don't forget the developers!
Kevin Rutherford
Love and death
Love and death
Kevin Rutherford
The 5-day challenge
The 5-day challenge
Kevin Rutherford
Red, green, ... what now?!
Red, green, ... what now?!
Kevin Rutherford
Pair programming
Pair programming
Kevin Rutherford
Tdd is dead
Tdd is dead
Kevin Rutherford
Hex arch
Hex arch
Kevin Rutherford
Shepherding antipatterns
Shepherding antipatterns
Kevin Rutherford
Kata rules
Kata rules
Kevin Rutherford
Movie app kata
Movie app kata
Kevin Rutherford
Object discovery
Object discovery
Kevin Rutherford
Connascence
Connascence
Kevin Rutherford
OCP Checkout kata
OCP Checkout kata
Kevin Rutherford
OCP bowling kata
OCP bowling kata
Kevin Rutherford
OCP String Calculator kata
OCP String Calculator kata
Kevin Rutherford
OCP kata overview
OCP kata overview
Kevin Rutherford
Telling not-asking
Telling not-asking
Kevin Rutherford
Uml
Uml
Kevin Rutherford
Plus de Kevin Rutherford
(20)
Making the most of autism
Making the most of autism
Evolving the Kanban Board
Evolving the Kanban Board
Don't forget the developers!
Don't forget the developers!
Love and death
Love and death
The 5-day challenge
The 5-day challenge
Red, green, ... what now?!
Red, green, ... what now?!
Pair programming
Pair programming
Tdd is dead
Tdd is dead
Hex arch
Hex arch
Shepherding antipatterns
Shepherding antipatterns
Kata rules
Kata rules
Movie app kata
Movie app kata
Object discovery
Object discovery
Connascence
Connascence
OCP Checkout kata
OCP Checkout kata
OCP bowling kata
OCP bowling kata
OCP String Calculator kata
OCP String Calculator kata
OCP kata overview
OCP kata overview
Telling not-asking
Telling not-asking
Uml
Uml
Dernier
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
Jhone kinadey
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
ayushiqss
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
masabamasaba
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
masabamasaba
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
AmarnathKambale
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
masabamasaba
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
Shane Coughlan
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
Delhi Call girls
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
Shrmpro
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
harshavardhanraghave
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
masabamasaba
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
OnePlan Solutions
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
Delhi Call girls
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
masabamasaba
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
masabamasaba
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
kalichargn70th171
Dernier
(20)
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
Connascence hunting
1.
© XPSurgery.com 2016
@kevinrutherford Love and Death “To love is to suffer. To avoid suffering one must not love. But then one suffers from not loving. Therefore, to love is to suffer; not to love is to suffer; to suffer is to suffer. To be happy is to love. To be happy, then, is to suffer, but suffering makes one unhappy. Therefore, to be unhappy, one must love or love to suffer or suffer from too much happiness. I hope you're getting this down.” Love and Death, Woody Allen, 1975
2.
© XPSurgery.com 2016
@kevinrutherford @kevinrutherford @xpsurgery http://silkandspinach.net http://xpsurgery.com
3.
© XPSurgery.com 2016
@kevinrutherford ?
4.
© XPSurgery.com 2016
@kevinrutherford SOLID Primitive Obsession Feature Envy Sim ulated Polym orphism Lazy Class Temporary Field Inappropriate Intim acy ShotgunSurgery Data Clump Long M ethod Large Class ??? ??? ??? ??? ??? ??? ??? RefusedBequest
5.
© XPSurgery.com 2016
@kevinrutherford Refactoring algorithm: 1. Remove some coupling 2. Repeat
6.
© XPSurgery.com 2016
@kevinrutherford https://github.com/ xpsurgery / corner-shop
7.
© XPSurgery.com 2016
@kevinrutherford A B C
8.
© XPSurgery.com 2016
@kevinrutherford Warehouse Actions Catalogue Actions Basket Actions User Interface Warehouse Catalogue Basket Filestore Main
9.
© XPSurgery.com 2016
@kevinrutherford Connascence between two software elements A and B means either: 1) some change to A would require B to be changed, (or at least carefully checked), or 2) some change would require both A and B to be changed together in order to preserve overall correctness.
10.
© XPSurgery.com 2016
@kevinrutherford Warehouse Actions Catalogue Actions Basket Actions User Interface Warehouse Catalogue Basket Filestore Main
11.
© XPSurgery.com 2016
@kevinrutherford Warehouse Actions Warehouse Connascence of Name Connascence of Type
12.
© XPSurgery.com 2016
@kevinrutherford Degree Reach Type
13.
© XPSurgery.com 2016
@kevinrutherford expression ↔ expression 0 function ↔ function 1 object ↔ object 2 module ↔ module 3 process ↔ process 4 Reach
14.
© XPSurgery.com 2016
@kevinrutherford Name Type Convention Algorithm Position Execution Order Timing Value Identity 1 2 3 4 5 6 7 8 9 Type
15.
© XPSurgery.com 2016
@kevinrutherford Refactoring algorithm: 1. Organise the code into top-level encapsulation units 2. Map the connascence among them 3. Remove the worst 4. Recurse into each encapsulation unit [optional]
16.
© XPSurgery.com 2016
@kevinrutherford ? @kevinrutherford @xpsurgery http://silkandspinach.net/tag/connascence http://xpsurgery.com
Notes de l'éditeur
1. Maths / group theory PhD 2. Encryption – mortgage transfers and Unix 3. Software house 4. Agile / XP 5. Coaching / training in s/w craftsmanship
Code smells are confusing. Sometimes FeatureEnvy is a good thing... SOLID is impractical All these things are a proxy for COUPLING and COHESION
Télécharger maintenant