![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE5NjAwNDc5MDc.jpg)
Jerry Overton15![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE5Njg5MTYzMTY.jpeg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjI0NzQyNDY1ODc.png)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE4NDcyNTMy.jpg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjEyNjU5NjQzNQ.jpeg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjI0NzQyNDY1ODc.png)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjpsaW5rZWRpbjpuU1plRFotTlBz)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE5NjAwNDc5MDc.jpg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE1NzAzMjc5.jpg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjMwMjcyNDE3Ng.jpg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE5NjAwNDc5MDc.jpg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjEyNjU5NjQzNQ.jpeg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjMwMjcyNDE3Ng.jpg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjEzNjMwMzg0NzY.jpeg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE5NjAwNDc5MDc.jpg)
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE1NzAzMjc5.jpg)
What software engineering practices do we need in #DataScience?
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE5Njg5MTYzMTY.jpeg)
Theyaa Matti
The current agile software development practices contain, standard naming, commenting, associated tests.
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjI0NzQyNDY1ODc.png)
Kyle Zellman
Clear variable naming, looping/control flow, readability/reproducibility
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE4NDcyNTMy.jpg)
Chris Fangmann
@khzellman Any ideas on standards / best practices?
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjEyNjU5NjQzNQ.jpeg)
Henry Helgen
@TheyaaMatti coding standards, naming conventions, test planning are essential software quality steps with any approach.
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjI0NzQyNDY1ODc.png)
Kyle Zellman
@ChrisFangmann when it comes to naming--clear, descriptive names that allow others to understand what the code is doing. Readability/reproducibility--robust comments, using spacing and indenting to your advantage.
Fabien Gelineau
ability to mix gracefully several programming paradigms: procedural, object orientation and functional programming tied all together
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE5NjAwNDc5MDc.jpg)
Jerry Overton
You'd have to know some really flexible architecture patterns for that, right? Any suggestions?
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE1NzAzMjc5.jpg)
Soren Helsted
Does anybody have examples on good patterns and anti-patterns, and are patterns important in #DataScience programming?
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjMwMjcyNDE3Ng.jpg)
Chris Baker
Test-driven development is important in any context, no less so for data science. Understanding of how an algorithm works doesn't help if you've coded it incorrectly.
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE5NjAwNDc5MDc.jpg)
Jerry Overton
@ScaredOfGeese But TDD is fairly new in #DataScience right? How many us have experience with unit testing in Python or R?
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjEyNjU5NjQzNQ.jpeg)
Henry Helgen
Commenting for re-usability. Header comment with purpose, change log, inputs, outputs, exceptions, how to call. Each block comments that describe the "Why did you write it that way?"
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjMwMjcyNDE3Ng.jpg)
Chris Baker
These assumptions should be explicitly stated and verified using tests that document and demonstrate the proper functionality of constituent components.
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjEzNjMwMzg0NzY.jpeg)
Sorin Costea
let's not forget that TDD is no silver bullet either
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE5NjAwNDc5MDc.jpg)
Jerry Overton
What about the practice of writing comments first. Too simple?
![](https://crowdspotsimages.s3-us-west-2.amazonaws.com/profile-images/dXNlcjp0d2l0dGVyOjE1NzAzMjc5.jpg)
Soren Helsted
Like when we did pseudo code in comments before adding the real code?