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
990
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
7
3.4k
えにしテックさん15周年に寄せて〜万葉と私のこれまでの学び〜
nay3
63
40k
Hotwire的な設計を追求して「Web紙芝居」に行き着いた話
nay3
9
4.5k
「Rubyメソッドかるた」 王者への道 ~ 万葉チームのガチな取り組みを大公開 ~
nay3
3
340
The Better RuboCop World to enjoy Ruby
nay3
1
13k
強いエンジニアという灯
nay3
51
22k
万葉のRails新人研修のコードレビューコメントを分析してみました
nay3
7
9.5k
"Railsで開発できる" への道
nay3
7
1.1k
自立したRuby技術者を育てる - 万葉の新人教育の仕組み
nay3
13
2.4k
Other Decks in Programming
See All in Programming
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
140
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
Zoneless Testing
rainerhahnekamp
0
120
testcontainers のススメ
sgash708
1
120
良いユニットテストを書こう
mototakatsu
4
1.8k
talk-with-local-llm-with-web-streams-api
kbaba1001
0
170
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
770
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
120
Featured
See All Featured
Fireside Chat
paigeccino
34
3.1k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Making the Leap to Tech Lead
cromwellryan
133
9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
96
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Code Review Best Practice
trishagee
65
17k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Being A Developer After 40
akosma
87
590k
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