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
Python, DOT, and Visualising Legacy Code The La...
Search
John Chandler
June 03, 2011
Programming
22
0
Share
Python, DOT, and Visualising Legacy Code The Lazy Way
Presentation to the London Python Code dojo in 2011.
John Chandler
June 03, 2011
More Decks by John Chandler
See All by John Chandler
Everything I've Learnt from Russel Winder's Talks, in 5 Minutes (A Tribute)
metaljoe
0
16
Snowboarding Saved My Software Career
metaljoe
0
13
Neurodiversity in Tech
metaljoe
0
61
Neurodiversity Lightning Talk
metaljoe
0
15
Tackling a Legacy Codebase with (Micro)Services
metaljoe
0
13
Regular Expressions
metaljoe
0
17
Testing Workshop - Part 1 (PyConUK 2011)
metaljoe
0
22
Testing Workshop - Part 2 (PyConUK 2011)
metaljoe
0
15
Test Driven Development (A Short Introduction)
metaljoe
0
15
Other Decks in Programming
See All in Programming
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
New "Type" system on PicoRuby
pocke
1
440
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
140
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
180
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
440
さぁV100、メモリをお食べ・・・
nilpe
0
130
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
2.1k
CSC307 Lecture 17
javiergs
PRO
0
310
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
360
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
250
3Dシーンの圧縮
fadis
1
590
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
530
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Code Review Best Practice
trishagee
74
20k
Building Adaptive Systems
keathley
44
3k
Being A Developer After 40
akosma
91
590k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
230
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
Transcript
Python, DOT and Visualising Legacy Code The Lazy Way (C)
John Chandler 2011
Legacy PHP Code! Noooooooooooooo!!!!
Deep Breaths. Visualise the Code.
Laziness Part 1: Use Python to Analyse Dependencies
Write a PHP Parser in Python? Or use a regular
expression... (include|require)(?:_once)?[ (]["']([^"']+)["']
Laziness Part 2: Use Graphviz to Draw The Diagram
Graphviz supports DOT. DOT is a graphing mini-language
digraph foo { node1 [label=“Node 1”]; node2 [label=”Node 2”]; node1
-> node2; }
$ dot -Tpng -O foo.dot
WTF. Looks like some refactoring to do
Source is available under GPL v3 from: http://www.bitbucket.org/metaljoe/qadpid