Top Banner
Siv Midtun Hollup
46

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

Dec 05, 2014

Download

Education

mblso

Motivating why scientists need to think about coding quality. A small introduction to test driven development as a way to enhance code quality in scientific projects.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Good coding-practices-for-scientists-jan-2014

Siv Midtun Hollup

Page 2: Good coding-practices-for-scientists-jan-2014
Page 3: Good coding-practices-for-scientists-jan-2014
Page 4: Good coding-practices-for-scientists-jan-2014
Page 5: Good coding-practices-for-scientists-jan-2014
Page 6: Good coding-practices-for-scientists-jan-2014
Page 7: Good coding-practices-for-scientists-jan-2014
Page 8: Good coding-practices-for-scientists-jan-2014
Page 9: Good coding-practices-for-scientists-jan-2014
Page 10: Good coding-practices-for-scientists-jan-2014

”I know exactly what code I need to write”

Page 11: Good coding-practices-for-scientists-jan-2014

”Coding is easy.”

Page 12: Good coding-practices-for-scientists-jan-2014
Page 13: Good coding-practices-for-scientists-jan-2014
Page 14: Good coding-practices-for-scientists-jan-2014

”I’ll just add another function instead of changing the existing one.”

Page 15: Good coding-practices-for-scientists-jan-2014

”Don’t fix it if it ain’t broken.”

Page 16: Good coding-practices-for-scientists-jan-2014
Page 17: Good coding-practices-for-scientists-jan-2014

Correct results

Efficient code

Extendable code

Results as fast as possible

As little code as possible

Page 18: Good coding-practices-for-scientists-jan-2014
Page 19: Good coding-practices-for-scientists-jan-2014
Page 20: Good coding-practices-for-scientists-jan-2014
Page 21: Good coding-practices-for-scientists-jan-2014

”A scientists’ nightmare: Software problems leads to five

retractions” G. Miller, Science (2014)

Page 22: Good coding-practices-for-scientists-jan-2014

”Deriving chemosensitivity from cell lines: Forensic bioinformatics and reproducible research in high-throughput biology”

KA Baggerly et al, Annals of Applied Statistics (2009)

Page 23: Good coding-practices-for-scientists-jan-2014

”Scientific software development is not an oxymoron”

”Publishing scientific software matters”

”Best practices for scientific computing”G. Wilson et al, PLOS Biology (2014)

SM Baxter et al, PLOS Computational Biology (2006)

C. Pradal et al, Journal of Computational Science (2013)

Page 24: Good coding-practices-for-scientists-jan-2014
Page 25: Good coding-practices-for-scientists-jan-2014
Page 26: Good coding-practices-for-scientists-jan-2014
Page 27: Good coding-practices-for-scientists-jan-2014
Page 28: Good coding-practices-for-scientists-jan-2014
Page 29: Good coding-practices-for-scientists-jan-2014
Page 30: Good coding-practices-for-scientists-jan-2014

To rewrite existing source code in order to improve its readability, reusability or structure without affecting its meaning or behaviour

Page 31: Good coding-practices-for-scientists-jan-2014
Page 32: Good coding-practices-for-scientists-jan-2014

”Testing takes too much time.”

Page 33: Good coding-practices-for-scientists-jan-2014

”It’s too hard to test.”

Page 34: Good coding-practices-for-scientists-jan-2014

”I can’t possibly test everything.”

Page 35: Good coding-practices-for-scientists-jan-2014
Page 36: Good coding-practices-for-scientists-jan-2014
Page 37: Good coding-practices-for-scientists-jan-2014
Page 38: Good coding-practices-for-scientists-jan-2014
Page 39: Good coding-practices-for-scientists-jan-2014
Page 40: Good coding-practices-for-scientists-jan-2014

”Test-Driven Development: An Empirical Evaluation of Agile Practice” Lech Madeyski

Page 41: Good coding-practices-for-scientists-jan-2014
Page 42: Good coding-practices-for-scientists-jan-2014
Page 43: Good coding-practices-for-scientists-jan-2014

Correct results

Efficient code

Extendable code

Results as fast as possible

As little code as possible

Page 44: Good coding-practices-for-scientists-jan-2014

Clean Code, Robert C. Martin (Uncle Bob)

Test Driven Development, Kent Beck

Refactoring, Martin Fowler

Working effectively with legacy code, Michael Feathers

Page 45: Good coding-practices-for-scientists-jan-2014

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-2010-session-9-linda-rising-deception-and-estimation/

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

Page 46: Good coding-practices-for-scientists-jan-2014

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

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