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
Our Fight Against Super Bad Patterns in Legacy ...
Search
Yasuko Ohba
June 24, 2016
Programming
8
980
Our Fight Against Super Bad Patterns in Legacy Apps
Slides for the talk in RedDotRubyConf 2016.
Yasuko Ohba
June 24, 2016
Tweet
Share
More Decks by Yasuko Ohba
See All by Yasuko Ohba
Hotwire光の道とStimulus
nay3
6
3k
えにしテックさん15周年に寄せて〜万葉と私のこれまでの学び〜
nay3
63
39k
Hotwire的な設計を追求して「Web紙芝居」に行き着いた話
nay3
9
4.4k
「Rubyメソッドかるた」 王者への道 ~ 万葉チームのガチな取り組みを大公開 ~
nay3
3
330
The Better RuboCop World to enjoy Ruby
nay3
1
13k
強いエンジニアという灯
nay3
51
22k
万葉のRails新人研修のコードレビューコメントを分析してみました
nay3
7
9.4k
"Railsで開発できる" への道
nay3
7
1.1k
自立したRuby技術者を育てる - 万葉の新人教育の仕組み
nay3
13
2.4k
Other Decks in Programming
See All in Programming
Outline View in SwiftUI
1024jp
1
320
みんなでプロポーザルを書いてみた
yuriko1211
0
260
Arm移行タイムアタック
qnighy
0
310
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
距離関数を極める! / SESSIONS 2024
gam0022
0
280
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
310
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
330
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
170
Featured
See All Featured
Visualization
eitanlees
145
15k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Fireside Chat
paigeccino
34
3k
Designing the Hi-DPI Web
ddemaree
280
34k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Transcript
0VS'JHIU"HBJOTU 4VQFS#BE1BUUFSOTJO -FHBDZ3BJMT"QQT :BTVLP0ICB !OBZ &WFSZMFBG$PSQ
:BTVLP0ICB େೡࢠ !OBZ -JWJOHJO5PLZP +BQBO "QSPHSBNNFS 3VCZPO3BJMTTJODF +BWB $ 0CKFDUJWF$
1)1ʜ 1SFTJEFOUPG&WFSZMFBG$PSQ
͓͓͞Μ PPCBTBO PICBTBO
͓͓͞Μ PPCBTBO PICBTBO ͓͞Μ PCBTBO
͓͓͞Μ PPCBTBO PICBTBO ͓͞Μ PCBTBO ͓͋͞Μ PCBBTBO
&WFSZMFBG$PSQ ສ༿ 8FEFWFMPQXFCBQQMJDBUJPOTGPSPVS DMJFOUTVTJOHNPTUMZ3VCZPO3BJMT 4JODF BMNPTUZFBST QFPQMF BSFXPNFO
BSFXPNFO JOFOHJOFFSJOH
*TUBSUFEUIFDPNQBOZGPS NZTFMGUPLFFQDPEJOH
4UJDLFST #PPLNBSLT
.ZGBNJMZ
.Z)PCCZ $BSUBʢ͔Δͨʣ
8FIBWFQSPEVDUT 5IF+BQBOFTF1PFNT
5IFpSTUUJNFUP 7JTJU4JOHBQPSF "UUFOE3FE%PU3VCZ$POG 5SBWFMUPBGPSFJHODPVOUSZBMPOF )BWFBO&OHMJTIUBMLMPOHFSUIBO -JHIUOJOH5BMLT )FMMP 4JOHBQPSF
$BVUJPO *NJHIUTBZ&FF ͑ʔ .BB ·͋ JOTUFBEPG8FMM ʜ *NJHIUTBZ5FO
JOTUFBEPG 1PJOUGPSOVNCFST *IBWFBMPUPGTMJEFT
0VUMJOF 8IBUXFHFOFSBMMZIBWFUPEP UPVQHSBEF3VCZBOE3BJMTJO MFHBDZBQQMJDBUJPOT *OUSPEVDUJPOPGTVQFSCBE QBUUFSOTXF`WFGPVOE
3VCZ3BJMT .JHSBUJPO 6QHSBEJOH IUUQTXXXqJDLSDPNQIPUPT!/
2)PXNBZ QFPQMFIBWFVTFE 3BJMT
2)PXNBOZ QFPQMFIBWF FYQFSJFODFEUIF NJHSBUJPOGSPN 3BJMTUP
3BJMTIBECFFO VTFEXJEFMZ JO+BQBOBUMFBTU
.BOZPME3BJMT BQQMJDBUJPOTSFNBJO XBJUJOHUPCFVQHSBEFE IUUQTXXXqJDLSDPNQIPUPTNBTIB@L@TI
4P LOPXJOHBCPVU IPXUPVQHSBEF 3VCZ3BJMTDBO CFTPNFIFMQ GPSUIBUTJUVBUJPO IUUQTXXXqJDLSDPNQIPUPTUSFFTBOUPT
*TJUQPTTJCMF
*TJUQPTTJCMF &WFO XJUI OP BVUP UFTUJOH
*TJUCFUUFSUP EFWFMPQBO BQQMJDBUJPO GSPNTDSBUDI
*UDPVMECF #VUOPUBMXBZT
"OFYJTUJOH TZTUFN CFJOHVTFE SFqFDUT JUTSFBMOFFET
:PVDBOOFWFS SFNPWFJUTFTTFOUJBM DPNQMFYJUZCZ QSPHSBNJOH UFDIOJRVFT
5IBUTXIZ NJHSBUJPOBOE SFGBDUPSJOH NBLFTFOTF
-FUTMPPLBU IPXUPVQHSBEF 3VCZ3BJMT
0VS$BTF
0VS"QQMJDBUJPOT ,JOEPGIFBMUIDIFDLTFSWJDF #UP# )BOEFEPWFSUPPVSDPNQBOZ GSPNUIFPUIFSEFWFMPQNFOU DPNQBOZXIJDIPSJHJOBMMZ EFWFMPQFEUIFTZTUFN
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ %SBXJUBXBZ
GSPN 3BEJBOU$.4
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ 6QHSBEJOH
3BJMT3VCZ %SBXJUBXBZ GSPN 3BEJBOU$.4
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST .FSHF 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ
6QHSBEJOH 3BJMT3VCZ %SBXJUBXBZ GSPN 3BEJBOU$.4
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST .FSHF 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ
6QHSBEJOH 3BJMT3VCZ 3FGBDUPSJOH %SBXJUBXBZ GSPN 3BEJBOU$.4
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST .FSHF 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ
6QHSBEJOH 3BJMT3VCZ 3FGBDUPSJOH %SBXJUBXBZ GSPN 3BEJBOU$.4 "/$*&/5$0%&
"QQ BENJO "QQ GPSFOEVTFST "QQ GPSFOEVTFST .FSHF 3BJMT 0VS1SPKFDU(PBM 3BJMT3VCZ
6QHSBEJOH 3BJMT3VCZ 3FGBDUPSJOH "EE 'FBUVSFT %SBXJUBXBZ GSPN 3BEJBOU$.4 "/$*&/5$0%&
5PUBM4DIFEVMF "VHVTU.BZ NPOUIT QFPQMF
.JHSBUJPO 3FGBDUPSJOH /FX 'FBUVSFT" /FX 'FBUVSFT# QMBOOJOHEFTJHOJOH CZPVSDMJFOU PVSEFTJHOJOHBOE JNQMFNFOUBUJPO JOUFHSBUJPOUFTUJOH CZBQBSUOFSDPNQBOZ
.BQPG3BJMT.JHSBUJPO 3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 5IF.PVOUBJOT PG.PEFSO3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 3BJMT 5IF.PVOUBJOT
PG.PEFSO3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ 3BJMT
5IF.PVOUBJOT PG.PEFSO3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ
3BJMT 5IF.PVOUBJOT PG.PEFSO3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ
3BJMT 5IF4USPOH1BSBNFUFST'BMMT 5IF.PVOUBJOT PG.PEFSO3BJMT
.BQPG3BJMT.JHSBUJPO 3BJMT 5IF3JWFSPG5FBST 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ
4BGF 3BJMT 5IF4USPOH1BSBNFUFST'BMMT 5IF.PVOUBJOT PG.PEFSO3BJMT
.JHSBUJPO4DIFEVMF "QQ UP3BJMT UP3VCZ
UP3BJMT UP3BJMT "QQ UP3BJMT UP3VCZ UP3BJMT UP3BJMT 'JMF6QMPBEJOH 1BHJOBUJPO &NBJM4FOEJOH #BDLHSPVOE1SPHSBNT 'SPN3BJMT3VCZ
#VSEFOCFGPSF EFGBVMUSPVUFNBQQJOH IUUQTXXXqJDLSDPNQIPUPTU[FKFO NBQDPOOFDUDPOUSPMMFSBDUJPOJE
#VSEFOCFGPSF EFGBVMUSPVUFNBQQJOH IUUQTXXXqJDLSDPNQIPUPTU[FKFO NBQDPOOFDUDPOUSPMMFSBDUJPOJE SFTPVSDFTVTFST SFTPVSDFTDPNQBOJFT POMZ<TIPX> ʜ
#VSEFOCFGPSF EFGBVMUSPVUFNBQQJOH IUUQTXXXqJDLSDPNQIPUPTU[FKFO NBQDPOOFDUDPOUSPMMFSBDUJPOJE :PVOFFEUPLOPX"-- "$5*0/4 SFTPVSDFTVTFST SFTPVSDFTDPNQBOJFT POMZ<TIPX> ʜ
-FUTTFF UIFSPBENBQGSPN 3BJMTUP
3BJMT 3BJMT 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ 4BGF
3BJMT 5IF3JWFSPG5FBST 5IF4USPOH1BSBNFUFST'BMMT 5IF.PVOUBJOT PG.PEFSO3BJMT
5IF3JWFSPG5FBST 3BJMT "DUJWF3FDPSEDIBJOBCMFRVFSZ MBOHVBHF 4BZHPPECZFUPDPOEJUJPOTBOEJUT GSJFOET 6TFSpOE BMM
DPOEJUJPOT\BENJOUSVF^ PSEFSJE
5IF3JWFSPG5FBST 3BJMT "DUJWF3FDPSEDIBJOBCMFRVFSZ MBOHVBHF 4BZHPPECZFUPDPOEJUJPOTBOEJUT GSJFOET 6TFSpOE BMM
DPOEJUJPOT\BENJOUSVF^ PSEFSJE
5IF3JWFSPG5FBST 3BJMT "DUJWF3FDPSEDIBJOBCMFRVFSZ MBOHVBHF 4BZHPPECZFUPDPOEJUJPOTBOEJUT GSJFOET 6TFSpOE BMM
DPOEJUJPOT\BENJOUSVF^ PSEFSJE
$POEJUJPOTBOEJUTGSJFOET SFTJEFFWFSZXIFSF .BOJQVMBUJPOPGDPOEJUJPOT IBTINBLFTUIJOHTXPSTF :PVOFFEUPLOPX"--42-T JOUFOEFE
$POEJUJPOT .BOJQVMBUJPO QSFQBSBUJPOGPS.PEFMpOE BMM DPOEJUJPOTʜ JGTPNFUIJOH DPOEJUJPOT@TUSJOH"/%TPNFUIJOH
DPOEJUJPOT@QBSBNTWBMVF FOE SFMSFMXIFSF TPNFUIJOHWBMVF JGTPNFUIJOH
"TNBMMCBEQBUUFSO XBTGPVOEIFSF %PTFBSDIpSTUBOE NBOJQVMBUFUIFSFTVMU $IBJORVFSJFTJOTUFBEPG BSSBZDPODBU
5IF3JWFSPG5FBST 3BJMT 3FXSJUF"KBYDPEFJGJUVTFT PME3BJMTIFMQFSNFUIPET 6OPCUSVTJWF+BWB4DSJQU
5IF3JWFSPG5FBST 3BJMT 3FXSJUFBMMPGPMEIBOENBEF IFMQFSTTVQQPSUJOHCMPDLT /POFFEGPSI /FFEUPpYEPVCMFFTDBQJOH )FMQFST7JFXT GPSN@GPS
GPSN@GPS
5IF3JWFSPG5FBST 3BJMT 7BMJEBUJPO WBMJEBUFT@QSFTFODF@PGOBNF WBMJEBUFT@MFOHUI@PGOBNF NBYJNVN WBMJEBUFTOBNF QSFTFODFUSVF
MFOHUI\NBYJNVN^
3BJMT FBTZUPDIBOHF SPVUFTSC SFNPWFNBQ TJNQMFCMPDLTXJUIPVU BOBSHVNFOU
3BJMT (PPEQPJOUT #VOEMFS 8FTUBSUFEUPVTF CVOEMFSXJUI3BJMT
3BJMT (PPEQPJOUT CFGPSF BGUFS DSFBUF BOFXBQQ SBJMTNZBQQ SBJMTOFXNZBQQ
DPOTPMF SVCZTDSJQUDPOTPMF SBJMTD TFSWFS SVCZTDSJQUTFSWFS SBJMTT
4PXFEPOUIBWFUP DSFBUFBQQMJDBUJPOT OBNFEDPSTBOZNPSF IUUQTXXXqJDLSDPNQIPUPTTMJQTUSFBNCMVF
(PUPUIFOFYUTUFQ 3BJMT 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ 4BGF
3BJMT 5IF3JWFSPG5FBST 5IF.PVOUBJOT PG.PEFSO3BJMT 5IF4USPOH1BSBNFUFST'BMMT
5IF.PVOUBJOTPG.PEFSO3BJMT 3BJMT "TTFUT1JQFMJOF .PWFpMFTBOEDPOpHVSFTFUUJOHT 3FEFTJHODTTBOE+4pMFTTUSVDUVSFT (PPEUJNJOHUPVTF4$44 FUD *UUBLFTNVDIUJNF /FFEUPLOPXBCPVUBMMBTTFUpMFTJEFBMMZ
5IF.PVOUBJOTPG.PEFSO3BJMT 3BJMT %FGBVMU+4MJCSBSZJTDIBOHFE UPCFK2VFSZGSPNQSPUPUZQFKT /FFEUPSFXSJUF+BWB4DSJQU DPEFJGZPVBSFHPJOHUP TXJUDIUIFMJCSBSZ
3BJMT 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ 4BGF
3BJMT 5IF3JWFSPG5FBST 5IF.PVOUBJOT PG.PEFSO3BJMT 5IF4USPOH1BSBNFUFST'BMMT
*UTFBTZ QMVDL VOJR
6QHSBEJOH3VCZ /PUWFSZIBSE 4USJOHFODPEJOH )BTI \BBBWBMVF^UP\BBBWBMVF^ 4UPQVTJOH "DUJWF4VQQPSU0SEFSFE)BTI
"MNPTU%POF 3BJMT 3BJMT 3BJMT 3BJMT 4BZ(PPECZF UP3VCZ 4BGF
3BJMT 5IF3JWFSPG5FBST 5IF4USPOH1BSBNFUFST'BMMT 5IF.PVOUBJOT PG.PEFSO3BJMT
5IF4USPOH1BSBNFUFST'BMMT 3BJMT 4FDVSJUZDIFDLXFOUUP $POUSPMMFSGSPN.PEFM *MPWF4USPOH1BSBNFUFST CVU 7FSZIBSEBOE#03*/(KPC :PVOFFEUPLOPXBMM QBSBNFUFSTGPSBMMBDUJPOT
0UIFST FSC)BNMJGZPVMJLFJU 3FQMBDFNBOZHFNT 3FXSJUFNPOLFZQBUDIJOHJO DPOpHJOJUJBMJ[FST 5JNF[POF
(FNT :PVOFFEUPSFQMBDFHFNT UISPVHIUIFSBJMTNJHSBUJPOT *UIJOLJONPEFSO3BJMTTVDIBT 3BJMTPSUIJTJTUIFNBJOKPC PGNJHSBUJPO
$POHSBUVMBUJPOT 8FMDPNFUP3BJMT
)PXUPVQHSBEF3BJMTGSPN $PODMVTJPO /PUPOMZSBLFSBJMTVQEBUF :PVOFFEUPDIBOHFTPNBOZ QMBDFT 'PSUIBUZPVOFFEUPLOPXʜ
,OPXXFMMBCPVU:063"11 ,OPX8IBU 'PS BMMBDUJPOT SFNPWJOHEFGBVMUSPVUJOH SFGBDUPSJOH63-TBOE)551NFUIPET BMMQBSBNFUFSTPG FBDIBDUJPOT BQQMZJOHTUSPOHQBSBNFUFSTTUSJDUMZ SJHIUMPPLTPGBMM
QBHFT pYJOHIFMQFSTBOEFTDBQJOHDPSSFDUMZ BMM42-T SFQMBDJOHDPOEJUJPOTUPDIBJOBCMFRVFSZ BMMBTTFUpMFT VTJOHBTTFUTQJQFMJOFFGGFDUJWFMZ BMMNPOLFZ QBUDIJOH NBLJOHUIFNXPSLJONPEFSO3BJMT
*UTUPVHI CVUOPU JNQPTTJCMF 4UFQCZTUFQ IUUQTXXXqJDLSDPNQIPUPTBMJDFQPQLPSO
8IZEJEU XFIBWF BVUPNBUFE UFTUT
#FDBVTFXFIBE BCBOEPOFE UFTUTHJWFOGSPN UIFQSJPSEFW DPNQBOZ
#FDBVTFXFIBE BCBOEPOFE UFTUTHJWFOGSPN UIFQSJPSEFW DPNQBOZ 8FIBEJNQSPWFEPVSUFTUT SJHIU
5IPTFUFTUTEJE OPUNBLFTFOTF BUUIBUUJNF
*LOPXUIJTJT EBOHFSPVT )PXFWFS IBWJOHCBE UFTUTDPVMECFFWFO XPSTFUIBO IBWJOHOPUFTUT
5IFUFTUJOH DPNQBOZIFMQFE VTBMPU
8FIBEUSJFEUPXSJUF GFBUVSFTQFDT CVUUIFPME3VCZWFSTJPO EJTDPVSBHFEVT IUUQTXXXqJDLSDPNQIPUPTDBQZCBSBKQ
4PXFEFDJEFEUP XSJUFNBOZHPPE TQFDTBGUFS NJHSBUJPOQ
"GUFSBZFBS XF IBWFNBOZOJDF TQFDT )BQQZ
4VQFS#BE 1BUUFSOTJO 3BJMT IUUQTXXXqJDLSDPNQIPUPT!/
0VSBQQT IBECFFO EFWFMPQFECZ CFHJOOFSTPG3BJMT DPNJOHGSPN+BWB
8FWFGPVOE NBOZCBE QBUUFSOTUIFSF
8FMPWF HPPEQBUUFSOT IUUQTXXXqJDLSDPNQIPUPTGSBOTEFXJU
4PXFIBWF FBTZBDDFTT UPUIFHPPE QBUUFSOT
)PXBCPVU CBEQBUUFSOT
*GZPVSUFBNJT NPEFSOBOEOJDF JUTIBSEUPpOE OBUVSBMCBEQBUUFSOT JOZPVSEBJMZXPSL IUUQTXXXqJDLSDPNQIPUPTBSNZ@BSDI
*UNFBOTZPV NJHIUNJTTTPNF DIBODFUPOPUJDF XIBUUPBWPJEJO QSPHSBNNJOH
5IBUTXIZ*XBOU UPTIBSFUIFTF CBEQBUUFSOT
/BUVSBMCBE QBUUFSOTBSFMJLF HPMENJOFT IUUQTXXXqJDLSDPNQIPUPTIFSTFOTQJOTFMT
-FUNFJOUSPEVDF NBKPS CBEQBUUFSOTJO UIFQSPKFDU
5PPNBOZMBZFST %SFBNZNFUIPE (MPCBMIBTI .BTTIPVTJOHJO POFDPOUSPMMFS
5PPNBOZMBZFST IUUQTXXXqJDLSDPNQIPUPTTNDDMBO
8FIBECFFO pHIUJOHBHBJOTU UPPNBOZDMBTTFT BOEMBZFST 'BNJMJBSTUZMF JO+BWB
$POUSPMMFS .BOZ5IJO "DUJWF3FDPSE .PEFMT DPVMECFVOJpFE 4QBHIFUUJ 'BUOPO"3DMBTTFT
$POUSPMMFS .BOZ5IJO "DUJWF3FDPSE .PEFMT DPVMECFVOJpFE 4QBHIFUUJ 'BUOPO"3DMBTTFT QSPDFEVSBM
$POUSPMMFS .BOZ5IJO "DUJWF3FDPSE .PEFMT DPVMECFVOJpFE 4QBHIFUUJ 'BUOPO"3DMBTTFT QSPDFEVSBM QSPDFEVSBM
5ZQJDBMPWFSNVDI UPSFMBUJPONPEFMT $PNQBOZ $PNQBOZ"EESFTT $PNQBOZ4PNFUIJOH FUDʜ 'BDBEF
1SPYZ TPPO
8SPOHSFBTPOTUP TFQBSBUFNPEFMT 5IFZIBWFTMJHIUMZEJGGFSFOU NFBOJOHT 6TBHFJTEJGGFSFOUTPNFUJNFT *XPVMEMJLFUPBWPJEDIBOHJOH FYJTUJOHDMBTTFTGPSNZ TBGFUZ
8SPOHSFBTPOTUP TFQBSBUFNPEFMT 5IFZIBWFTMJHIUMZEJGGFSFOU NFBOJOHT 6TBHFJTEJGGFSFOUTPNFUJNFT *XPVMEMJLFUPBWPJEDIBOHJOH FYJTUJOHDMBTTFTGPSNZ TBGFUZ 0).:(0%
4FQBSBUJOHNPEFMT DPTUTWFSZNVDI
'BDBEF 1SPYZ TPPO /PQSPCMFNJGJUTXFMM EFTJHOFE *OPVSDBTF UIFTFTFFNTUPCF UIFSFTVMUUIBUEFWFMPQFST DPVMEOPUVTF"DUJWF3FDPSE QSPQFSMZ
$POUSPMMFS .BOZ5IJO "DUJWF3FDPSE .PEFMT 4QBHIFUUJ 'BUOPO"3DMBTTFT 3FGBDUPSJOH
$POUSPMMFS 4QBHIFUUJ 'BUOPO"3DMBTTFT 3FGBDUPSJOH
$POUSPMMFS 3FGBDUPSJOH
$POUSPMMFS 3FGBDUPSJOH 3JDIBOE.PEVMBSJ[FE "DUJWF3FDPSE .PEFM
$POUSPMMFS 3FGBDUPSJOH 3JDIBOE.PEVMBSJ[FE "DUJWF3FDPSE .PEFM 6TFUIFNPEFMEJSFDUMZ JONPTUDBTFT
%FBNZNFUIPE IUUQTXXXqJDLSDPNQIPUPTUIFP@SFUI IUUQTXXXqJDLSDPNQIPUPTUIFP@SFUI
%SFBNZNFUIPEJT SFBEZUPEPFWFSZUIJOH EFGEP@FWFSZUIJOH@GPS@ZPV JEFOUJpFS PQUJPOT\^ XIFOJEFOUJpFS DBTF$0/45"/5@ EPBKPC DBTF$0/45"/5@
EPBOPUIFSKPC DBTF$0/45"/5@ EPUIFSEKPC DBTF$0/45"/5@ EPUIFUIKPC FOE FOE
0GDPVSTFZPV LOPXUIFSJHIU QBUUFSO
4JNQMFNFUIPET EFGEP@ PQUJPOT\^ EPBKPC FOE EFGEP@ PQUJPOT\^ EPBOPUIFSKPC
FOE ʜ
6TFJOIFSJUBODFTPNFUJNFT DMBTT"CTUSBDU8PSL QSJWBUF EFGTPNF@DPNNPO@XPSL TPNFXPSLDBMMJOHEP@JU FOE FOE DMBTT8PSL"CTUSBDU8PSL EFGEP@JU EPBKPC
FOE FOE DMBTT8PSL"CTUSBDU8PSL EFGEP@JU EPBOPUIFSKPC FOE FOE
"SFZPVTVSF XIZ ESFBNZNFUIPE QBUUFSOTVDLT
)BSEUPSFBE SFTVMUEP@FWFSZUIJOH@GPS@ZPV $0/45"/5@ 0, ZPVNFBOEPJOH $0/45"/5@KPCIFSF
)BSEUPSFBE SFTVMUEP@FWFSZUIJOH@GPS@ZPV $0/45"/5@ 0, ZPVNFBOEPJOH $0/45"/5@KPCIFSF SFTVMUEP@FWFSZUIJOH@GPS@ZPV PQUJPOT<UZQF>
0I *OFFEUPDIFDL XIBUWBMVFJTJOTJEFʜ
&BTZUPTUBSU EFGEP@UIF@XPSL EPUIFXPSL FOE *OFFEUPDIBOHF UIJTCFIBWJPSJONZDBTFʜ
&BTZUPTUBSU EFGEP@UIF@XPSL EPUIFXPSL FOE *OFFEUPDIBOHF UIJTCFIBWJPSJONZDBTFʜ EFGEP@UIF@XPSL SBSF@DBTFUSVF JGSBSF@DBTF
EPUIFSBSFXPSL FMTF EPUIFXPSL FOE FOE 8FMM MFUTBEEBOBSHVNFOU
*UHSPXTMJLFWJSVT SFTVMUEP@FWFSZUIJOH@GPS@ZPV PQUJPOT<UZQF>
*UHSPXTMJLFWJSVT SFTVMUEP@FWFSZUIJOH@GPS@ZPV PQUJPOT<UZQF> *OFFEUPBEEBOFXMPHJDBGUFSUIJT
*UHSPXTMJLFWJSVT SFTVMUEP@FWFSZUIJOH@GPS@ZPV PQUJPOT<UZQF> *OFFEUPBEEBOFXMPHJDBGUFSUIJT 0, MFUTBEE BOFXNFUIPE IBWJOHUIFTBNFJEFOUJpFS
*UHSPXTMJLFWJSVT SFTVMUEP@FWFSZUIJOH@GPS@ZPV PQUJPOT<UZQF> SFTVMUGPSNBU@TPNFUIJOH SFTVMU PQUJPOT<UZQF> ʜ
*OFFEUPBEEBOFXMPHJDBGUFSUIJT 0, MFUTBEE BOFXNFUIPE IBWJOHUIFTBNFJEFOUJpFS
"OJEFOUJpFS USBWFMTPWFS NFUIPET DMBTTFT BOE MBZFST &WFSZXIFSF $POUSPMMFS .PEFM
7JFX
/JHIUNBSF IUUQTXXXqJDLSDPNQIPUPTTUJMMFCFO
"OPUIFSMJUUMFCBEQBUUFSO FOVNMJLFIBTIDPOTUBOU 4*56"5*0/\VOLOPXO HPPE CBE^
"OPUIFSMJUUMFCBEQBUUFSO FOVNMJLFIBTIDPOTUBOU 4*56"5*0/\VOLOPXO HPPE CBE^ 4*56"5*0/@6/,/08/VOLOPXOGSFF[F 4*56"5*0/@(00%HPPEGSFF[F 4*56"5*0/@#"%CBEGSFF[F 0S ZPVDBOVTFTPNFFOVNQBUUFSO
4*56"5*0/\VOLOPXO HPPE CBE^ w4*56"5*0/<GPP>EPFTOPUDBVTFBOFSSPS w:PVOFFEUPSFNFNCFSPSDIFDLXIBULFZJT BWBJMBCMF*%&DBOEPOPUIJOH w*GWBMVFTBSFJOUFHFS ZPVOFFEUPSFNFNCFS CPUIOBNFBOEWBMVF w%JGpDVMUUPTFBSDI
ZPVDBOVTFWBSJBCMFBTB LFZ w)BTIDPOUFOUTDBOCFDIBOHFEUPPFBTJMZ 8IZ*UIJOLUIJTJTCBE
8FTBXUIFDPNCJOBUJPO EFGEP@FWFSZUIJOH@GPS@ZPV JEFOUJpFS PQUJPOT\^ XIFOJEFOUJpFS DBTF4*56"5*0/<VOLOPXO> EPBKPC DBTF4*56"5*0/<HPPE> EPBOPUIFSKPC
DBTF4*56"5*0/<CBE> EPUIFSEKPC ʜ
8BOEFSJOH BSPVOEMPPLJOH GPSTPNFUIJOH JTQBJOGVM 4FQBSBUFUIJOHT BOEHJWFUIFN HPPEOBNFT IUUQTXXXqJDLSDPNQIPUPTGFSHJFGBN
(MPCBMIBTI IUUQTXXXqJDLSDPNQIPUPTHBNVUMFTT
(MPCBMIBTI )BTIJTMPWFE )BTIGFFMTMJLFOPUTDBSZ :PVEPO`UIBWFUPDSFBUFB OFXDMBTT 'MFYJCMF
*UDBOCFB NPOTUFS IUUQTXXXqJDLSDPNQIPUPTEFBEMZDSJTQ
*UTUBSUTMJLFUIJT DMBTT"DUJWF6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIBDUJWFVTFST EFGTFBSDI TFBSDI@PQUJPOTQBSBNT<TFBSDI>cc\^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT FOE
FOE
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSOFXVTFST
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSOFXVTFST DMBTT4QFDJBM6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDITQFDJBMVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSOFXVTFST DMBTT4QFDJBM6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDITQFDJBMVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSOFXVTFST DMBTT4QFDJBM6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDITQFDJBMVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT NVDITJNQMFS
JUHSPXTMJLFUIJT DMBTT/FX6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDIOFXVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT
TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSOFXVTFST DMBTT4QFDJBM6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS TFBSDITQFDJBMVTFST EFGTFBSDI TFBSDI@PQUJPOT QBSBNT<TFBSDI>cc\^ NFSHF\ʜ^ 4FBSDIFSTFBSDI TFBSDI@PQUJPOT TFTTJPO<TFBSDI@PQUJPOT>TFBSDI@PQUJPOT JODMVEJOH FYUSBPQUJPOT MFU4FBSDIFSLOPX UIJTJTGPSTQFDJBMVTFST NVDITJNQMFS
*OUIFTFTTJPOPS4FBSDIFSTFBSDI ZPVGBDFBHMPCBMIBTI \ʜʜ ʜʜ ʜʜ^ TFBSDI@PQUJPOT 8FMM ZPVBSF
HSFBUEBUB BOZXBZ
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^ -PPLTPNF PGUIFN
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^ -PPLTPNF PGUIFN $IFDLPOFLFZ
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^ -PPLTPNF PGUIFN $IFDLPOFLFZ "EETPNFUIJOH
GPSNZGSJFOE
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^ -PPLTPNF PGUIFN $IFDLPOFLFZ "EETPNFUIJOH
GPSNZGSJFOE 3FUSJFWFJU
&WFSZPOFDBOVTFJU \ʜʜ ʜʜ ʜʜ^ -PPLTPNF PGUIFN $IFDLPOFLFZ "EETPNFUIJOH
GPSNZGSJFOE 3FUSJFWFJU +VTUTUPSF BMMPGUIFN JODBTF
/PCPEZLOPXT XIBUDPOUFOUTBSF FYQFDUFEGPSFBDI QVSQPTFFYBDUMZ
$IBPT
8FIBEBMPOHCBUUMF UPEFGFBUUIFN 3FQMBDFUIFQBSUPGIBTIUPCF BPCKFDUCZFBDIGFBUVSFT 6TFS4FBSDI#BTF 6TFS4FBSDI"DUJWF6TFST 6TFS4FBSDI/FX6TFST 6TFS4FBSDI4QFDJBM6TFST
)BTI*4TDBSZ
)BTI*4TDBSZ *U`T UPP qFYJCMF UP CF VTFE XJEFMZ
.BTTIPVTJOH JOPOFDPOUSPMMFS
GFBUVSF GFBUVSF GFBUVSF $POUSPMMFS BDUJPO BDUJPO *UXBTMJLFUIJT
$POUSPMMFSDPEF DMBTT6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS EFGTFBSDI TFBSDI@PQUJPOTQBSBNT<TFBSDI@PQUJPOT> GFBUVSF@UZQFQBSBNT<GFBUVSF@UZQF> DBTFGFBUVSF@UZQF XIFOBDUJWF@VTFST TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ
XIFOOFX@VTFST TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ FOE 6TFSTFBSDI GFBUVSF@UZQF TFBSDI@PQUJPOT FOE "DUVBMMZ JUXBTXPSTF UIBOUIJT
5IFCFUUFSEFTJHO GFBUVSF GFBUVSF GFBUVSF $POUSPMMFS BDUJPO BDUJPO $POUSPMMFS BDUJPO BDUJPO
$POUSPMMFS BDUJPO BDUJPO NPEVMFGPS TJNJMBS GFBUVSFT
5IJTJTUIF DPNCJOBUJPOPG CBEQBUUFSOT
DMBTT6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS EFGTFBSDI TFBSDI@PQUJPOTQBSBNT<TFBSDI@PQUJPOT> GFBUVSF@UZQFQBSBNT<GFBUVSF@UZQF> DBTFGFBUVSF@UZQF XIFOVTFST TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ XIFOOFX@VTFST
TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ FOE 6TFSTFBSDI GFBUVSF@UZQF TFBSDI@PQUJPOT FOE %SFBNZ.FUIPE
(MPCBM)BTI DMBTT6TFST$POUSPMMFS"QQMJDBUJPO$POUSPMMFS EFGTFBSDI TFBSDI@PQUJPOTQBSBNT<TFBSDI@PQUJPOT> GFBUVSF@UZQFQBSBNT<GFBUVSF@UZQF> DBTFGFBUVSF@UZQF XIFOVTFST TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ
XIFOOFX@VTFST TFBSDI@PQUJPOTTFBSDI@PQUJPOTNFSHF ʜ FOE 6TFSTFBSDI GFBUVSF@UZQF TFBSDI@PQUJPOT FOE
&YUSFNFMZ EJGpDVMUUPDIBOHF KVTUPOFGFBUVSF
:PVOFFEUP DIBTFUIF JEFOUJpFS OPUUPIBSNPUIFS GFBUVSFT
8IBUUPEP UPBWPJEUIFTF CBEQBUUFSOT
5PPNBOZMBZFST 6TF"DUJWF3FDPSEJGZPVDBO %PVCUSFMBUJPO 5IJOLBCPVUNBJOUFOBODF DPTUT
%SFBNZNFUIPE 8SJUFBEJGGFSFOUNFUIPEGPSB EJGGFSFOUOFFE %PVCUBEEJOHBOBSHVNFOUBOEJG &YUSBDUDPNNPOQBSUT 6TFQPMZNPSQIJTN 4UPQUIJTQBUUFSOJOFBSMZTUBHF
(MPCBMIBTI 'FFMGSFFUPBEEBOFX DMBTT 6TFIBTIFTMPDBMMZ
$PODMVTJPO
4IPXFEXIBUZPVOFFEUPEP UPVQHSBEF3BJMTGSPNUPJO HFOFSBM(PPEMVDL *OUSPEVDFEUIFOBUVSBMCBE QBUUFSOTJO3BJMTXFWFGPVOE -FUTBWPJEUIFUSBQT
5IBOLZPV ! *GZPVIBWFBOZRVFTUJPOT GFFMGSFFUPBTLNF4-08-: ! !OBZ