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
Matthias Pigulla
May 04, 2018
Technology
630
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
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
1.1k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.3k
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
1
1k
Continuous Delivery! It is not what you think it is
tdpauw
0
140
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
520
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
110
AIエージェントの開発・提供におけるセキュリティリスクの論点と対策
flatt_security
0
200
サーバー常駐型の 簡易障害調査AI エージェントを作ってみた話
masayoshi
1
510
Introduction to Bill One Development Engineer
sansan33
PRO
0
490
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
220
指示待ちから変化に応じるClaude Codeへ!~環境からAgentへの帰り道を作る~
gotalab555
9
1.8k
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
520
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
480
A better future with KSS
kneath
240
18k
Designing for humans not robots
tammielis
254
26k
Typedesign – Prime Four
hannesfritz
42
3.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
550
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Rails Girls Zürich Keynote
gr2m
96
14k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
180
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
570
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