SlideShare une entreprise Scribd logo
1  sur  46
Siv Midtun Hollup
”I know exactly what code I need to write”
”Coding is easy.”
”I’ll just add another function instead of changing the existing one.”
”Don’t fix it if it ain’t broken.”
As little code as possible

Results as fast as possible

Correct results

Efficient code

Extendable code
”A scientists’ nightmare: Software problems leads to five retractions”
G. Miller, Science (2014)
”Deriving chemosensitivity from cell lines: Forensic bioinformatics and
reproducible research in high-throughput biology”
KA Baggerly et al, Annals of Applied Statistics (2009)
”Scientific software development is not an oxymoron”
SM Baxter et al, PLOS Computational Biology (2006)

”Publishing scientific software matters”
C. Pradal et al, Journal of Computational Science (2013)

”Best practices for scientific computing”
G. Wilson et al, PLOS Biology (2014)
To rewrite existing source code in order to improve its
readability, reusability or structure without affecting its meaning or
behaviour
”Testing takes too much time.”
”It’s too hard to test.”
”I can’t possibly test everything.”
”Test-Driven Development: An Empirical Evaluation of Agile Practice”
Lech Madeyski
As little code as possible

Results as fast as possible

Correct results

Efficient code

Extendable code


Clean Code, Robert C. Martin (Uncle Bob)



Test Driven Development, Kent Beck



Refactoring, Martin Fowler



Working effectively with legacy code, Michael Feathers


Introcing TDD and why it’s a good idea, Evan Dorn
http://www.youtube.com/watch?v=HhwElTL-mdI



Estimation and deception, Linda Rising http://chariotsolutions.com/podcast/ete-2010session-9-linda-rising-deception-and-estimation/



TDD in action (Roy Osherove) http://www.youtube.com/watch?v=xX9hfPkA800


Practice coding and get feedback: http://www.exercism.io/



Online courses (subscription): http://www.pluralsight.com/

Contenu connexe

En vedette

Web20 per la camera di commercio di venezia
Web20 per la camera di commercio di veneziaWeb20 per la camera di commercio di venezia
Web20 per la camera di commercio di veneziaNetlife s.r.l.
 
Fear and Loathing in Academia - Miedo y temor en el mundo académico
Fear and Loathing in Academia - Miedo y temor en el mundo académicoFear and Loathing in Academia - Miedo y temor en el mundo académico
Fear and Loathing in Academia - Miedo y temor en el mundo académicoOpen Access Peru
 
Teksan generator 2011
Teksan generator 2011Teksan generator 2011
Teksan generator 2011ataelif
 
Leverage Relationships for Sustainable Advantage
Leverage Relationships for Sustainable AdvantageLeverage Relationships for Sustainable Advantage
Leverage Relationships for Sustainable AdvantageDavid Hain
 
Three Deep Web Analytics Wednesday
Three Deep Web Analytics WednesdayThree Deep Web Analytics Wednesday
Three Deep Web Analytics WednesdayThree Deep Marketing
 
Paid Search for E-commerce Marketing
Paid Search for E-commerce MarketingPaid Search for E-commerce Marketing
Paid Search for E-commerce MarketingThree Deep Marketing
 
Presentazione Netlife s.r.l.
Presentazione Netlife s.r.l.Presentazione Netlife s.r.l.
Presentazione Netlife s.r.l.Netlife s.r.l.
 
Niemiecka Biblioteka Narodowa
Niemiecka Biblioteka NarodowaNiemiecka Biblioteka Narodowa
Niemiecka Biblioteka NarodowaWeronika
 
Op Sy 03 Ch 101
Op Sy 03 Ch 101Op Sy 03 Ch 101
Op Sy 03 Ch 101 Google
 
Op Sy 03 Ch 61
Op Sy 03 Ch 61Op Sy 03 Ch 61
Op Sy 03 Ch 61 Google
 

En vedette (18)

Web20 per la camera di commercio di venezia
Web20 per la camera di commercio di veneziaWeb20 per la camera di commercio di venezia
Web20 per la camera di commercio di venezia
 
Fear and Loathing in Academia - Miedo y temor en el mundo académico
Fear and Loathing in Academia - Miedo y temor en el mundo académicoFear and Loathing in Academia - Miedo y temor en el mundo académico
Fear and Loathing in Academia - Miedo y temor en el mundo académico
 
Marys 50th.Pps
Marys 50th.PpsMarys 50th.Pps
Marys 50th.Pps
 
Teksan generator 2011
Teksan generator 2011Teksan generator 2011
Teksan generator 2011
 
Leverage Relationships for Sustainable Advantage
Leverage Relationships for Sustainable AdvantageLeverage Relationships for Sustainable Advantage
Leverage Relationships for Sustainable Advantage
 
Three Deep Web Analytics Wednesday
Three Deep Web Analytics WednesdayThree Deep Web Analytics Wednesday
Three Deep Web Analytics Wednesday
 
Ietc presentation
Ietc presentationIetc presentation
Ietc presentation
 
Evaluation Websites
Evaluation WebsitesEvaluation Websites
Evaluation Websites
 
Vores julekort 2010
Vores julekort 2010Vores julekort 2010
Vores julekort 2010
 
Paid Search for E-commerce Marketing
Paid Search for E-commerce MarketingPaid Search for E-commerce Marketing
Paid Search for E-commerce Marketing
 
Presentazione Netlife s.r.l.
Presentazione Netlife s.r.l.Presentazione Netlife s.r.l.
Presentazione Netlife s.r.l.
 
Niemiecka Biblioteka Narodowa
Niemiecka Biblioteka NarodowaNiemiecka Biblioteka Narodowa
Niemiecka Biblioteka Narodowa
 
Op Sy 03 Ch 101
Op Sy 03 Ch 101Op Sy 03 Ch 101
Op Sy 03 Ch 101
 
Op Sy 03 Ch 61
Op Sy 03 Ch 61Op Sy 03 Ch 61
Op Sy 03 Ch 61
 
Caudill 2011
Caudill 2011Caudill 2011
Caudill 2011
 
0
00
0
 
Be social
Be socialBe social
Be social
 
Businessfocus09
Businessfocus09Businessfocus09
Businessfocus09
 

Dernier

Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxElton John Embodo
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Dust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEDust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEaurabinda banchhor
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
TEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxTEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxruthvilladarez
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 

Dernier (20)

Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Dust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEDust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSE
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
TEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxTEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docx
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 

Good coding-practices-for-scientists-jan-2014

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. ”I know exactly what code I need to write”
  • 12.
  • 13.
  • 14. ”I’ll just add another function instead of changing the existing one.”
  • 15. ”Don’t fix it if it ain’t broken.”
  • 16.
  • 17. As little code as possible Results as fast as possible Correct results Efficient code Extendable code
  • 18.
  • 19.
  • 20.
  • 21. ”A scientists’ nightmare: Software problems leads to five retractions” G. Miller, Science (2014)
  • 22. ”Deriving chemosensitivity from cell lines: Forensic bioinformatics and reproducible research in high-throughput biology” KA Baggerly et al, Annals of Applied Statistics (2009)
  • 23. ”Scientific software development is not an oxymoron” SM Baxter et al, PLOS Computational Biology (2006) ”Publishing scientific software matters” C. Pradal et al, Journal of Computational Science (2013) ”Best practices for scientific computing” G. Wilson et al, PLOS Biology (2014)
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. To rewrite existing source code in order to improve its readability, reusability or structure without affecting its meaning or behaviour
  • 31.
  • 32. ”Testing takes too much time.”
  • 33. ”It’s too hard to test.”
  • 34. ”I can’t possibly test everything.”
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. ”Test-Driven Development: An Empirical Evaluation of Agile Practice” Lech Madeyski
  • 41.
  • 42.
  • 43. As little code as possible Results as fast as possible Correct results Efficient code Extendable code
  • 44.  Clean Code, Robert C. Martin (Uncle Bob)  Test Driven Development, Kent Beck  Refactoring, Martin Fowler  Working effectively with legacy code, Michael Feathers
  • 45.  Introcing TDD and why it’s a good idea, Evan Dorn http://www.youtube.com/watch?v=HhwElTL-mdI  Estimation and deception, Linda Rising http://chariotsolutions.com/podcast/ete-2010session-9-linda-rising-deception-and-estimation/  TDD in action (Roy Osherove) http://www.youtube.com/watch?v=xX9hfPkA800
  • 46.  Practice coding and get feedback: http://www.exercism.io/  Online courses (subscription): http://www.pluralsight.com/