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
Forgotten Histories
Search
Supriya Srivatsa
February 22, 2020
Technology
0
540
Forgotten Histories
Supriya Srivatsa
February 22, 2020
Tweet
Share
More Decks by Supriya Srivatsa
See All by Supriya Srivatsa
The Story of Villagers, Marbles and Oh, A Blockchain!
supriyasrivatsa
0
520
Going Multiplatform With Kotlin
supriyasrivatsa
0
620
GIDS18_SupriyaSrivatsa.pdf
supriyasrivatsa
0
490
Mobile, AI and TensorFlow
supriyasrivatsa
0
500
Other Decks in Technology
See All in Technology
分解して理解する Aspire
nenonaninu
1
200
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
530
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
210
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.4k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
RSNA2024振り返り
nanachi
0
580
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
990
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
13
3.5k
管理者しか知らないOutlookの裏側のAIを覗く#AzureTravelers
hirotomotaguchi
2
430
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Facilitating Awesome Meetings
lara
52
6.2k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Thoughts on Productivity
jonyablonski
69
4.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Speed Design
sergeychernyshev
27
790
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Into the Great Unknown - MozCon
thekraken
35
1.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
A Tale of Four Properties
chriscoyier
158
23k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Transcript
SUPRIYA SRIVATSA | SOFTWARE ENGINEER | @SUPRIYASRIVATSA Forgotten Histories Hidden
Insights Lying Within Your Git Repository
Codebase should be viewed not as the ultimate truth
Codebase should be viewed not as the ultimate truth, but
as a story of evolutions.
None
None
There is more to code than code.
There is more to code than code. What
When There is more to code than code. Who What
When A time dimension Who A social/organisational dimension There is
more to code than code.
Tech debt is not just technical.
Behavioural Code Analysis
None
None
None
None
None
BRING OUT YOUR CODEBASE!
BRING OUT YOUR CODEBASE!
BRING OUT YOUR CODEBASE!
http://adamtornhill.com/code/maatdistro.htm GET CODE MAAT
GIT LOGS $ git log --all --numstat --date=short --pretty=format:'--%h-- %ad--%aN'
--no-renames --after=YYYY-MM-DD > log.log
CHANGE FREQUENCY $ java -jar code-maat-1.0-standalone.jar -c git2 -l log.log
-a revisions -r 50 > <filename>.csv git log --format=format: --name-only --after=2019-12-01 | sort | uniq -c | sort -r | head -50
None
Halstead Complexity Measuring Complexity Cyclomatic Complexity
Halstead Complexity Measuring Complexity Lines of code, Indentation based complexity
Cyclomatic Complexity
Most active parts of code are often most complex parts
of code.
- Low cohesion Most active parts of code are often
most complex parts of code.
- Low cohesion - Developer congestion Most active parts of
code are often most complex parts of code.
- Low cohesion - Developer congestion REFACTOR HOTSPOT Most active
parts of code are often most complex parts of code.
HOTSPOT A complicated piece of code you have to work
with often
Change Coupling Files that change together
CHANGE COUPLING - The files change together in at least
X commits. - The files change together in at least Y% of the total commits to each file.
CHANGE COUPLING $ java -jar code-maat-1.0-standalone.jar -c git2 -l log.log
-a coupling -r 30 > <filename>.csv
Refactor Hotspots Change Coupling
Refactor Hotspots Change Coupling Code Age
Refactor Hotspots Change Coupling Code Age Knowledge Maps
None
None
None
None
None
None
Software Design X-Rays Adam Tornhill
Supriya Srivatsa @SupriyaSrivatsa