Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Code Topology Notation
Search
Ivan Nemytchenko
September 12, 2024
Programming
0
110
Code Topology Notation
Ivan Nemytchenko
September 12, 2024
Tweet
Share
More Decks by Ivan Nemytchenko
See All by Ivan Nemytchenko
The Shape of a Service Object
inem
0
1.1k
The Curse of Service Object
inem
0
320
Modern Make for modern (Rails) programmers
inem
0
91
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
290
Rails без боли и оверинжиниринга
inem
0
500
Painless Rails: наводим порядок в контроллерах
inem
0
280
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
620
Pure functions and side effects
inem
0
52
Solving architectural problems with OOP in pictures
inem
1
6k
Other Decks in Programming
See All in Programming
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
110
Reactive Thinking with Signals, Resource API, and httpResource @Devm.io Angular 20 Launch Party
manfredsteyer
PRO
0
120
rbs-traceを使ってWEARで型生成を試してみた After RubyKaigi 2025〜ZOZO、ファインディ、ピクシブ〜 / tried rbs-trace on WEAR
oyamakei
0
580
primeNumberでのRBS導入の現在 && RBS::Traceでinline RBSを拡充してみた
mnmandahalf
0
230
Interface vs Types ~型推論が過多推論~
hirokiomote
1
220
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
6
350
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
5.9k
『Python → TypeScript』オンボーディング奮闘記
takumi_tatsuno
1
120
知識0からカンファレンスやってみたらこうなった!
syossan27
5
320
SpringBootにおけるオブザーバビリティのなにか
irof
1
870
イベントソーシングとAIの親和性ー物語とLLMに理解できるデータ
tomohisa
1
160
TypeScript エンジニアが Android 開発の世界に飛び込んだ話
yuisakamoto
6
870
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
68
11k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
880
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
740
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
610
Navigating Team Friction
lara
185
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
We Have a Design System, Now What?
morganepeng
52
7.6k
Transcript
CODE TOPOLOGY NOTATION
Kettle components (objects) small dudes == objects
Objects with methods! hands == methods
A method number of fi ngers == number of arguments
Instance variables Stored inside the brain
Instance variables Can be reused later
Returning results
Private methods
Exception
Anti-patterns
Too many arguments
Too many methods
Too long methods
Too many instance variables
Too much conditional logic in methods Swallen arms
Too much of everything!!!
Classes A spawning platform
Classes A spawning platform
same topology Object & classes have the
Dependencies have to remember about classes to use them
Dependency Injection Instead of remembering thing we pass them as
arguments
Visual representation of code complexity
None
None
None
None
None
None