SlideShare a Scribd company logo
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/

More Related Content

Viewers also liked

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
Netlife 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émico
Open 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 Advantage
David Hain
 
Three Deep Web Analytics Wednesday
Three Deep Web Analytics WednesdayThree Deep Web Analytics Wednesday
Three Deep Web Analytics Wednesday
Three Deep Marketing
 
Paid Search for E-commerce Marketing
Paid Search for E-commerce MarketingPaid Search for E-commerce Marketing
Paid Search for E-commerce Marketing
Three 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
 

Viewers also liked (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
 

Recently uploaded

Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Chapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdfChapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdf
Kartik Tiwari
 
Marketing internship report file for MBA
Marketing internship report file for MBAMarketing internship report file for MBA
Marketing internship report file for MBA
gb193092
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
chanes7
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 

Recently uploaded (20)

Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Chapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdfChapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdf
 
Marketing internship report file for MBA
Marketing internship report file for MBAMarketing internship report file for MBA
Marketing internship report file for MBA
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 

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/