Slide 1

Slide 1 text

READABLE  CODE   @john_papa   READABLE  CODE JOHN  PAPA   @JOHN_PAPA

Slide 2

Slide 2 text

READABLE  CODE   @john_papa   HOW  FAST  CAN  YOU  READ   YOUR  CODE  ? JOHN  PAPA   @JOHN_PAPA

Slide 3

Slide 3 text

READABLE  CODE   @john_papa   “     How  can  you  enhance  code  if  you  can’t  read  it?   ”    

Slide 4

Slide 4 text

READABLE  CODE   @john_papa  

Slide 5

Slide 5 text

READABLE  CODE   @john_papa   “     It’s  harder  to  read  code  than  to  write  it.   ”     -­‐  Joel  Spolsky   But  Why?

Slide 6

Slide 6 text

READABLE  CODE   @john_papa   “     It’s  not  about  clever,  craHy,  arIul,  preJy  code.     It’s  about  fast  and  effecLve  communicaLon  and   code  quality.   ”     What’s  it  all  About?

Slide 7

Slide 7 text

READABLE  CODE   @john_papa   Who  Cares  for  the  Developer  Behind  You? “     ”     Caring  about  your  craH  is  a  good  thing.  Caring  about   the  what  happens  aHer  you  deploy  your  code  is   beauLful.  

Slide 8

Slide 8 text

READABLE  CODE   @john_papa   What’s  Your  MoKvaKon? Time   ProducLvity   Cost  of  a  Complete  Mess  

Slide 9

Slide 9 text

READABLE  CODE   @john_papa   “     ”       YOUR  BOSS  WON’T  LIKE  THAT  

Slide 10

Slide 10 text

READABLE  CODE   @john_papa   “     Deploy  faster,  spend  less,  re-­‐use  more,     and  maintain  high  quality.     ”    

Slide 11

Slide 11 text

READABLE  CODE   @john_papa   Who  is  Code  Intended  For? Programs  must  be  wriJen  for  people  to  read,  and   only  incidentally  for  machines  to  execute.   -­‐  Abelson  &  Sussman,  Structure  and  Interpreta9on  of  Computer  Programs   “     ”    

Slide 12

Slide 12 text

READABLE  CODE   @john_papa   Meaningful  Names  Are  Crucial  to  Read  Speed

Slide 13

Slide 13 text

READABLE  CODE   @john_papa   Crystal  Clear  Names  Promote  Readability

Slide 14

Slide 14 text

READABLE  CODE   @john_papa   DescripKve  Names

Slide 15

Slide 15 text

READABLE  CODE   @john_papa   Can’t  Decipher  within  the  5  Second  Rule

Slide 16

Slide 16 text

READABLE  CODE   @john_papa   IntenKons  are  Clear

Slide 17

Slide 17 text

READABLE  CODE   @john_papa   “     Most  important  code  is  instantly  visible   ”     Above  the  Fold

Slide 18

Slide 18 text

READABLE  CODE   @john_papa  

Slide 19

Slide 19 text

READABLE  CODE   @john_papa   Simple  and  Clear

Slide 20

Slide 20 text

READABLE  CODE   @john_papa  

Slide 21

Slide 21 text

READABLE  CODE   @john_papa   “     Less  than  20  lines  of  code   ”     Small  FuncKons  Are  Readable

Slide 22

Slide 22 text

READABLE  CODE   @john_papa   MISSSPELINGS  ARE  IMPORTANT   “     What  will  you  find  when  you  search  for  your  code?   ”    

Slide 23

Slide 23 text

READABLE  CODE   @john_papa   Clarity,  Inconsistent  Naming  and  Spelling

Slide 24

Slide 24 text

READABLE  CODE   @john_papa   Consistent  Naming  and  Spelling  MaSer

Slide 25

Slide 25 text

READABLE  CODE   @john_papa   Pick  One  ConvenKon

Slide 26

Slide 26 text

READABLE  CODE   @john_papa   “     People  who  maintain  code  lack  the  author’s  context   ”     CONTEXT  ===  CLARITY  

Slide 27

Slide 27 text

READABLE  CODE   @john_papa   Does  Your  Code  Provide  Context?

Slide 28

Slide 28 text

READABLE  CODE   @john_papa   Explain  Yourself  in  Code,  Not  Comments

Slide 29

Slide 29 text

READABLE  CODE   @john_papa   Self  Describing  Code

Slide 30

Slide 30 text

READABLE  CODE   @john_papa   Replace  Comments  and  Magic  Strings

Slide 31

Slide 31 text

READABLE  CODE   @john_papa   Use  DescripKve  FuncKons  and  Constants

Slide 32

Slide 32 text

READABLE  CODE   @john_papa   Comments  are  noise  when  … Outdated  and  incorrect   Shoulda  coulda  used  a  variable  or  funcLon   Redundant  

Slide 33

Slide 33 text

READABLE  CODE   @john_papa   Comments  are  awesome  when  … Warnings  of  Consequences   API  DocumentaLon   TODO’s  

Slide 34

Slide 34 text

READABLE  CODE   @john_papa   How  Readable  Is  My  Code? LocaLng  our  code  is  easy   IdenLfy  code  at  a  glance   Flat  structure  as  long  as  we  can   Try  to  stay  DRY   L   I   F   T  

Slide 35

Slide 35 text

READABLE  CODE   @john_papa   “     Clean  code  is  the  secret  to     your  applicaLon’s  long  and  healthy  life   ”    

Slide 36

Slide 36 text

READABLE  CODE   @john_papa   Nothing  Starts  Readable “     Write  dirty  code,  then  clean  it   ”    

Slide 37

Slide 37 text

READABLE  CODE   @john_papa   Opinionated  AngularJS  Style  Guide hJp://jpapa.me/ngstyles