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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Matthias Pigulla
May 04, 2018
Technology
620
0
Share
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プラットフォームを運用し続けるための可観測性
tanimuyk
4
1k
GoとSIMDとWasmの今。
askua
3
470
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
410
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
480
Mastering Ruby Box
tagomoris
3
130
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
210
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
980
Datadog 認定試験の概要と対策
uechishingo
0
220
実装は速くなった、レビューはどうする? ― 自身のレビューをAIで再現させるサーヴァントエンジニアリングのすゝめ / Implementation got faster. So what about reviews? — An invitation to Servant Engineering: Recreating your own code reviews with AI
nrslib
3
1.9k
サイバーセキュリティ概論 / Introduction to Cybersecurity
ks91
PRO
0
120
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
410
運用を見据えたAIエージェント設計実践
amacbee
0
1.8k
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
210
Chasing Engaging Ingredients in Design
codingconduct
0
200
How to build a perfect <img>
jonoalderson
1
5.5k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
350
GraphQLとの向き合い方2022年版
quramy
50
15k
Producing Creativity
orderedlist
PRO
348
40k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
The SEO Collaboration Effect
kristinabergwall1
1
470
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