97 t hing s e ve ry prog ra mme r should know
play

97 T hing s E ve ry Prog ra mme r Should Know http:/ / pr o gr - PowerPoint PPT Presentation

97 T hing s E ve ry Prog ra mme r Should Know http:/ / pr o gr amme r .97things.o r e illy.c o m @97T E PSK Ke vlin He nne y ke vlin@c ur br alan.c o m @Ke vlinHe nne y Gudny Hauknes Paul W Homer Adria n Wible Pete Goodliffe He


  1. 97 T hing s E ve ry Prog ra mme r Should Know http:/ / pr o gr amme r .97things.o r e illy.c o m @97T E PSK Ke vlin He nne y ke vlin@c ur br alan.c o m @Ke vlinHe nne y

  2. Gudny Hauknes Paul W Homer Adria n Wible Pete Goodliffe He inz Ka butz Ala n Griffiths Pe te r Somme rla d Ale x Mille r Ja n Christia a n "JC" va n Winke l Alla n Ke lly Ja ne t Gre g ory Ra jith Atta pa ttu Ande rs Norå s Ja son P Sa g e Ra ndy Sta fford Ann Ka trin Ga g na t Joha nne s Brodwa ll Ric ha rd Monson- Ha e fe l Jon Ja g g e r Robe rt C Ma rtin (Unc le Bob) Asla m Kha n Rod Be g bie Burk Hufna g e l Jø rn Ølmhe im Ca l E va ns Ka ri Rø ssla nd Russe l Winde r Ca rroll Robinson Ka ria nne Be rg Rya n Brush Ca y Horstma nn Ke ith Bra ithwa ite Sa m Sa a riste Ke vlin He nne y Sa ra h Mount Chuc k Allison Sc ott Me ye rs Clint Sha nk Kirk Pe ppe rdine Da n Be rg h Johnsson Kla us Ma rqua rdt Se b Rose Da n North L inda Rising Ste ve Be rc zuk Da nie l L indne r Ma rc us Ba ke r Ste ve F re e ma n Ma tt Doa r Ste ve Smith Diomidis Spine llis T homa s Gue st E dwa rd Ga rson Ma ttia s Ka rlsson E ina r L a ndre Mic ha e l F e a the rs Udi Da ha n F ilip va n L a e ne n Mic ha e l Hung e r Ve rity Stob Ge ra rd Me sza ros Mike L e wis Wa lte r Brig ht Gile s Colborne Na te Ja c kson Ye c hie l Kimc hi Ne a l F ord Yuriy Zuba re v Giova nni Asproni Gre g Colvin Nic la s Nilsson Gre g or Hohpe Olve Ma uda l

  3. Ac t with Prude nc e L e a rn to E stima te Apply F unc tiona l Prog ra mming Princ iple s L e a rn to Sa y "He llo, World" Ask "Wha t Would the Use r Do?" (You Are Not the Use r) L e t Your Proje c t Spe a k for Itse lf Automa te Your Coding Sta nda rd T he L inke r Is Not a Ma g ic a l Prog ra m Be a uty Is in Simplic ity T he L ong e vity of Inte rim Solutions Be fore You Re fa c tor Ma ke Inte rfa c e s E a sy to Use Corre c tly a nd Ha rd to Use Inc orre c tly Be wa re the Sha re Ma ke the Invisible More Visible T he Boy Sc out Rule Me ssa g e Pa ssing L e a ds to Be tte r Sc a la bility in Pa ra lle l Syste ms Che c k Your Code F irst Be fore L ooking to Bla me Othe rs A Me ssa g e to the F uture Choose Your T ools with Ca re Missing Opportunitie s for Polymorphism Code in the L a ng ua g e of the Doma in Ne ws of the We ird: T e ste rs Are Your F rie nds Code Is De sig n One Bina ry Code L a yout Ma tte rs Only the Code T e lls the T ruth Code Re vie ws Own (a nd Re fa c tor) the Build Coding with Re a son Pa ir Prog ra m a nd F e e l the F low A Comme nt on Comme nts Pre fe r Doma in- Spe c ific T ype s to Primitive T ype s Comme nt Only Wha t the Code Ca nnot Sa y Pre ve nt E rrors Continuous L e a rning T he Profe ssiona l Prog ra mme r Conve nie nc e Is Not a n –ility Put E ve rything Unde r Ve rsion Control De ploy E a rly a nd Ofte n Put the Mouse Down a nd Ste p Awa y from the Ke yboa rd Disting uish Busine ss E xc e ptions from T e c hnic a l Re a d Code Do L ots of De libe ra te Pra c tic e Re a d the Huma nitie s Doma in- Spe c ific L a ng ua g e s Re inve nt the Whe e l Ofte n Don't Be Afra id to Bre a k T hing s Re sist the T e mpta tion of the Sing le ton Pa tte rn Don't Be Cute with Your T e st Da ta T he Roa d to Pe rforma nc e Is L itte re d with Dirty Code Bombs Don't Ig nore T ha t E rror! Simplic ity Come s from Re duc tion Don't Just L e a rn the L a ng ua g e , Unde rsta nd its Culture T he Sing le Re sponsibility Princ iple Don't Na il Your Prog ra m into the Uprig ht Position Sta rt from Ye s Don't Re ly on "Ma g ic Ha ppe ns He re " Ste p Ba c k a nd Automa te , Automa te , Automa te Don't Re pe a t Yourse lf T a ke Adva nta g e of Code Ana lysis T ools Don't T ouc h T ha t Code ! T e st for Re quire d Be ha vior, Not Inc ide nta l Be ha vior E nc a psula te Be ha vior, Not Just Sta te T e st Pre c ise ly a nd Conc re te ly F loa ting - Point Numbe rs Are n't Re a l T e st While You Sle e p (a nd ove r We e ke nds) F ulfill Your Ambitions with Ope n Sourc e T e sting Is the E ng ine e ring Rig or of Softwa re De ve lopme nt T he Golde n Rule of API De sig n T hinking in Sta te s T he Guru Myth T wo He a ds Are Ofte n Be tte r tha n One Ha rd Work Doe s Not Pa y Off T wo Wrong s Ca n Ma ke a Rig ht (a nd Are Diffic ult to F ix) How to Use a Bug T ra c ke r Ubuntu Coding for Your F rie nds Improve Code by Re moving It T he Unix T ools Are Your F rie nds Insta ll Me Use the Rig ht Alg orithm a nd Da ta Struc ture Inte r- Proc e ss Communic a tion Affe c ts Applic a tion Re sponse T ime Ve rbose L og g ing Will Disturb Your Sle e p Ke e p the Build Cle a n WE T Dilute s Pe rforma nc e Bottle ne c ks Know How to Use Comma nd- line T ools Whe n Prog ra mme rs a nd T e ste rs Colla bora te Know We ll More tha n T wo Prog ra mming L a ng ua g e s Write Code a s If You Ha d to Support It for the Re st of Your L ife Know Your IDE Write Sma ll F unc tions Using E xa mple s Know Your L imits Write T e sts for Pe ople Know Your Ne xt Commit You Gotta Ca re About the Code L a rg e Inte rc onne c te d Da ta Be long s to a Da ta ba se Your Custome rs Do Not Me a n Wha t T he y Sa y Learn Foreign Languages

  4. Ac t with Prude nc e L e a rn to E stima te Apply F unc tiona l Prog ra mming Princ iple s L e a rn to Sa y "He llo, World" Ask "Wha t Would the Use r Do?" (You Are Not the Use r) L e t Your Proje c t Spe a k for Itse lf Automa te Your Coding Sta nda rd T he L inke r Is Not a Ma g ic a l Prog ra m Be a uty Is in Simplic ity T he L ong e vity of Inte rim Solutions Be fore You Re fa c tor Ma ke Inte rfa c e s E a sy to Use Corre c tly a nd Ha rd to Use Inc orre c tly Be wa re the Sha re Ma ke the Invisible More Visible T he Boy Sc out Rule Me ssa g e Pa ssing L e a ds to Be tte r Sc a la bility in Pa ra lle l Syste ms Che c k Your Code F irst Be fore L ooking to Bla me Othe rs A Me ssa g e to the F uture Choose Your T ools with Ca re Missing Opportunitie s for Polymorphism Code in the L a ng ua g e of the Doma in Ne ws of the We ird: T e ste rs Are Your F rie nds Code Is De sig n One Bina ry Code L a yout Ma tte rs Only the Code T e lls the T ruth Code Re vie ws Own (a nd Re fa c tor) the Build Coding with Re a son Pa ir Prog ra m a nd F e e l the F low A Comme nt on Comme nts Pre fe r Doma in- Spe c ific T ype s to Primitive T ype s Comme nt Only Wha t the Code Ca nnot Sa y Pre ve nt E rrors Continuous L e a rning T he Profe ssiona l Prog ra mme r Conve nie nc e Is Not a n –ility Put E ve rything Unde r Ve rsion Control De ploy E a rly a nd Ofte n Put the Mouse Down a nd Ste p Awa y from the Ke yboa rd Disting uish Busine ss E xc e ptions from T e c hnic a l Re a d Code Do L ots of De libe ra te Pra c tic e Re a d the Huma nitie s Doma in- Spe c ific L a ng ua g e s Re inve nt the Whe e l Ofte n Don't Be Afra id to Bre a k T hing s Re sist the T e mpta tion of the Sing le ton Pa tte rn Don't Be Cute with Your T e st Da ta T he Roa d to Pe rforma nc e Is L itte re d with Dirty Code Bombs Don't Ig nore T ha t E rror! Simplic ity Come s from Re duc tion Don't Just L e a rn the L a ng ua g e , Unde rsta nd its Culture T he Sing le Re sponsibility Princ iple Don't Na il Your Prog ra m into the Uprig ht Position Sta rt from Ye s Don't Re ly on "Ma g ic Ha ppe ns He re " Ste p Ba c k a nd Automa te , Automa te , Automa te Don't Re pe a t Yourse lf T a ke Adva nta g e of Code Ana lysis T ools Don't T ouc h T ha t Code ! T e st for Re quire d Be ha vior, Not Inc ide nta l Be ha vior E nc a psula te Be ha vior, Not Just Sta te T e st Pre c ise ly a nd Conc re te ly F loa ting - Point Numbe rs Are n't Re a l T e st While You Sle e p (a nd ove r We e ke nds) F ulfill Your Ambitions with Ope n Sourc e T e sting Is the E ng ine e ring Rig or of Softwa re De ve lopme nt T he Golde n Rule of API De sig n T hinking in Sta te s T he Guru Myth T wo He a ds Are Ofte n Be tte r tha n One Ha rd Work Doe s Not Pa y Off T wo Wrong s Ca n Ma ke a Rig ht (a nd Are Diffic ult to F ix) How to Use a Bug T ra c ke r Ubuntu Coding for Your F rie nds Improve Code by Re moving It T he Unix T ools Are Your F rie nds Insta ll Me Use the Rig ht Alg orithm a nd Da ta Struc ture Inte r- Proc e ss Communic a tion Affe c ts Applic a tion Re sponse T ime Ve rbose L og g ing Will Disturb Your Sle e p Ke e p the Build Cle a n WE T Dilute s Pe rforma nc e Bottle ne c ks Know How to Use Comma nd- line T ools Whe n Prog ra mme rs a nd T e ste rs Colla bora te Know We ll More tha n T wo Prog ra mming L a ng ua g e s Write Code a s If You Ha d to Support It for the Re st of Your L ife Know Your IDE Write Sma ll F unc tions Using E xa mple s Know Your L imits Write T e sts for Pe ople Know Your Ne xt Commit You Gotta Ca re About the Code L a rg e Inte rc onne c te d Da ta Be long s to a Da ta ba se Your Custome rs Do Not Me a n Wha t T he y Sa y Learn Foreign Languages

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend