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
2.6k
えにしテックさん15周年に寄せて〜万葉と私のこれまでの学び〜
nay3
62
39k
Hotwire的な設計を追求して「Web紙芝居」に行き着いた話
nay3
9
4.3k
「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.3k
Other Decks in Programming
See All in Programming
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
3.1k
Hotwire or React? ~Reactの録画機能をHotwireに置き換えて得られた知見~ / hotwire_or_react
harunatsujita
9
4.1k
cXML という電子商取引の トランザクションを支える プロトコルと向きあっている話
phigasui
3
2.3k
GCCのプラグインを作る / I Made a GCC Plugin
shouth
1
150
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
140
Golang と Erlang
taiyow
8
1.9k
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
4
1.6k
JaSST 24 九州:ワークショップ(は除く)実践!マインドマップを活用したソフトウェアテスト+活用事例
satohiroyuki
0
260
CSC305 Lecture 13
javiergs
PRO
0
130
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
1
290
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.1k
Vaporモードを大規模サービスに最速導入して学びを共有する
kazukishimamoto
4
4.3k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
RailsConf 2023
tenderlove
29
880
Producing Creativity
orderedlist
PRO
341
39k
Designing on Purpose - Digital PM Summit 2013
jponch
115
6.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
107
49k
KATA
mclloyd
29
13k
Art, The Web, and Tiny UX
lynnandtonic
296
20k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Code Review Best Practice
trishagee
64
17k
Unsuck your backbone
ammeep
668
57k
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