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
Your Architecture as a Crime Scene: Improvement...
Search
Manfred Steyer
PRO
November 12, 2024
Programming
0
410
Your Architecture as a Crime Scene: Improvements with Forensic Analysis @ijs Munich 2024
Manfred Steyer
PRO
November 12, 2024
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
Modern Angular:Renovation for Your Applications @angularDays 2025 Munich
manfredsteyer
PRO
0
86
Effective Signals in Angular 19+ Rules and Helpers
manfredsteyer
PRO
0
170
The Price of Micro Frontends… and Your Alternatives @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
440
Your Architecture as a Crime Scene:Forensic Analysis @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
170
Modern Angular with Signals and Signal StoreNew Rules for Your Architecture @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
190
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
860
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
520
Your Architecture as a Crime Scene: Improvements with Forensic Analysis
manfredsteyer
PRO
0
29
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
470
Other Decks in Programming
See All in Programming
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
160
20250326_生成AIによる_レビュー承認システムの実現.pdf
takahiromatsui
2
110
ステートソーシング型イベント駆動の視点で捉えるCQRS+ES
shinnosuke0522
1
280
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
6
2.9k
PHPによる"非"構造化プログラミング入門 -本当に熱いスパゲティコードを求めて- #phperkaigi
o0h
PRO
0
720
爆速スッキリ! Rspack 移行の成果と道のり - Muddy Web #11
dora1998
0
130
Identifying and Analyzing Fake OSS with Malware - fukuoka.go#21
rhykw
0
420
Introduction to C Extensions
sylph01
3
150
❄️ NixOS/nixpkgsにSATySFiサポートを実装する
momeemt
2
170
2025/3/18 サービスの成長で生じる幅広いパフォーマンスの問題を、 AIで手軽に解決する
shirahama_x
0
130
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
530
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
200
Featured
See All Featured
A Tale of Four Properties
chriscoyier
158
23k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
The Cult of Friendly URLs
andyhume
78
6.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
GraphQLとの向き合い方2022年版
quramy
45
14k
4 Signs Your Business is Dying
shpigford
183
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Designing for humans not robots
tammielis
250
25k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Pragmatic Product Professional
lauravandoore
33
6.5k
Transcript
AngularArchitects.io | @ManfredSteyer Your Architecture as a Crime Scene: Improvements
with Forensic Analysis
Which One is More Complex? [Adam Tornhill: Your Code as
a Crime Scene, 2nd edition, 2024]
Same „Cyclomatic Complexity“ [Adam Tornhill: Your Code as a Crime
Scene, 2nd edition, 2024]
[https://www.se.cs.uni-saarland.de/publications/docs/PAP+21.pdf]
Can we Support Architecture and Code Reviews with Code Metrics?
First Reaction … NO!
Goodhart‘s Law: „When a measure becomes a target, it ceases
to be a good measure.“ -- Charles A. E. Goodhart
What‘s Important for Architects? Minimal Dependencies Vertical 1 Vertical 2
Vertical 3 Feature UI Data Feature UI Data Feature UI Data
What‘s Important for Architects? Low Coupling Vertical 1 Vertical 2
Vertical 3 Conway‘s Law High Cohesion High Cohesion High Cohesion Single Responsibility? Most Changes: Within ONE Verical Reduce Cognitive Load!
Code Churn Code that changes often: Indicator for Issues
None
Forensic Analysis Source Code History History History Forensic Analysis „Hidden“
Patterns e.g., Git History
Agenda • Tools for Forensic Analysis • Limitations of Forensic
Analysis • DEMO • Lab • Discussion: Your Findings
About me… Manfred Steyer, ANGULARarchitects.io (Remote) Angular Workshops and Consulting
Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular Manfred Steyer
Tools
Code Scene • By Adam Tornhill • Free for Open
Source Projects • Lots of analysis methods • Awesome visualization • Several Programming Languages • Code & Architecture Level • https://codescene.com/
Detective • Our take on Forensic Analysis • Open Source
• Limited to a few methods • Architecture Level • Primarily TypeScript • Focus: Help for Reviews • Appetizer for CodeScene!
Limitations
Awesome, but not a replacement for … Code Review Best
Practices Architectural Goals Consequences/ Trade-offs Advise Joint Walkthrough Developer Interviews More general: Stakeholder Interviews
However, a tempting addition … Code Review Best Practices Architectural
Goals Consequences/ Trade-offs Advise Joint Walkthrough Developer Interviews More general: Stakeholder Interviews (Forensic) Analysis Better Questions
DEMO
Try it out Now in Your Project! npm i @softarc/detective
–D npx detective https://github.com/manfredsteyer/standalone-example-cli.git Run this in your own code base (prefered) or clone this example project:
Contact and Downloads [web] ANGULARarchitects.io [twitter] ManfredSteyer d Slides &
Examples Remote and In-House http://softwarearchitekt.at/workshops