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
Verantwortungsvoller Umgang mit Software-Paketen
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Matthias Pigulla
May 04, 2018
Technology
620
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Verantwortungsvoller Umgang mit Software-Paketen
Talk auf der SymfonyLive am 04.05.2018
Matthias Pigulla
May 04, 2018
Other Decks in Technology
See All in Technology
AI_Dev_Day_製造業領域でのAI活用から見た活用の罠と成功に導く実践知.pdf
kintotechdev
0
190
[Droidcon Orlando '26] The Android Lens: Applying Mobile Forensics to AI Performance
amanda_hinchman
1
110
生成 AI 時代にいま一度「問い合わせ」について考えてみる
kazzpapa3
1
130
kaonavi Tech Night#1
kaonavi
0
160
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
1
1.5k
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
490
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
470
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
2
290
Type-safe IaC for Dart
coborinai
0
180
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
810
探索・可視化・自動化を一本化 Amazon Quickでデータ活用スピードを上げる方法
koheiyoshikawa
0
190
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
1.2k
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
340
Building the Perfect Custom Keyboard
takai
2
820
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
410
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
270
Embracing the Ebb and Flow
colly
88
5.1k
Building an army of robots
kneath
306
46k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
560
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
840
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Transcript
Verantwortungsvoller Umgang mit So ware-Paketen Ma hias Pigulla – webfactory.de
SymfonyLive, 4. Mai 2018
webfactory.de/uncle- bob-papers
Release/Reuse Equivalency Principle (REP) The granule of reuse is the
granule of release. Only components that are released through a tracking system can effectively be reused. This granule is the package. — Robert C. Martin
Release macht Code zum Produkt
Zeitliche Entkopplung
Schni stelle, nicht Implementierung
X.Y.Z 1.2.0, 2.17.47, ... semver.org
! . " .
@trigger_error( 'Raider heißt jetzt Twix', E_USER_DEPRECATED );
Schni stelle?
Transitive Abhängigkeiten
$client = $this->fetchAcmeApiClient(); try { $client->addToCart(...); } catch (\GuzzleHttp\Exception\GuzzleException $e)
{ ... }
Strategisches Paketdesign
Common Reuse Principle (CRP) The classes in a package are
reused together. If you reuse one of the classes in a package, you reuse them all. — Robert C. Martin
None
Common Closure Principle (CCP) The classes in a package should
be closed together against the same kinds of changes. A change that affects a package affects all classes in that package. — Robert C. Martin
None
Acyclic Dependencies Principle (ADP) The dependency structure between packages must
be a directed acyclic graph (DAG). That is, there must be no cycles in the dependency structure. — Robert C. Martin
None
None
None
Tools!
clue/graph-composer github.com/clue/graph-composer
maglnet/ComposerRequireChecker github.com/maglnet/ComposerRequireChecker
webfactory/baton github.com/webfactory/baton baton.test.webfactory.de
! "
None