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
540
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
All About Angular's New Signal Forms
manfredsteyer
PRO
0
99
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
150
Signals & Resource API in Angular: 3 Effective Rules for Your Architecture @BASTA 2025 in Mainz
manfredsteyer
PRO
0
110
Your Architecture as a Crime SceneForensic Analysis @BASTA! 2025 in Mainz, Germany
manfredsteyer
PRO
0
64
Your Architecture as a Crime SceneForensic Analysis @EntwicklerSummit Berlin 2025
manfredsteyer
PRO
0
36
Advanced Micro Frontends: Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
390
Advanced Micro Frontends: Multi Version/ Framework Scenarios @WAD 2025, Berlin
manfredsteyer
PRO
0
650
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
530
The Missing Link in Angular‘s Signal Story Resource API and httpResource @ngRome 2025
manfredsteyer
PRO
0
170
Other Decks in Programming
See All in Programming
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
960
Swift Concurrency - 状態監視の罠
objectiveaudio
2
490
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1.2k
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
800
Devoxx BE - Local Development in the AI Era
kdubois
0
120
CSC509 Lecture 03
javiergs
PRO
0
330
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
160
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
660
私はどうやって技術力を上げたのか
yusukebe
43
18k
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
190
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
140
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
200
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
Docker and Python
trallard
46
3.6k
GitHub's CSS Performance
jonrohan
1032
470k
Writing Fast Ruby
sferik
629
62k
The Cult of Friendly URLs
andyhume
79
6.6k
How STYLIGHT went responsive
nonsquared
100
5.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
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