Mark Lewis
1 min readNov 2, 2019

--

I feel like you left out step #1 which is pick a language that helps to enforce good programming style. Language development has come a long way to help enforce writing correct code, but people seem to still gravitate toward languages that do exactly the opposite. One of the biggest this I normally harp on is types. None of your sample code includes anything that tells someone calling this code what types go in our out of your functions. They either have to guess or go digging through the code to make sure they are passing in the right things. Using descriptive names is helpful, but it doesn’t come close to having a compiler check that all usages in the codebase are actually doing things correctly. The “move fast and break things” mentality in the US is horrible for a world where everything we do relies on code. Proper choices in tools allow you to move quickly but also feel comfortable that you aren’t breaking everything in the process.

--

--

Mark Lewis
Mark Lewis

Written by Mark Lewis

Computer Science Professor, Planetary Rings Simulator, Scala Zealot

Responses (3)