SlideShare uma empresa Scribd logo
1 de 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/

Mais conteúdo relacionado

Destaque

Teksan generator 2011
Teksan generator 2011Teksan generator 2011
Teksan generator 2011
ataelif
 
Niemiecka Biblioteka Narodowa
Niemiecka Biblioteka NarodowaNiemiecka Biblioteka Narodowa
Niemiecka Biblioteka Narodowa
Weronika
 
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
 

Destaque (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
 

Último

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Último (20)

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 

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/