Justin Garrison
February 22, 2022

There's always time to refactor - 123dev #60

Posted on February 22, 2022  •  2 minutes  • 404 words
An iceberg flips on its side

Comments

Refactoring

  1. Make it work
  2. Make it beautiful
  3. Make it fast

This is a common saying for software developers. It doesn’t matter if your starting a new project or fixing a bug in an established project.

Make it work means you write code that does what it’s supposed to and you write code that keeps your code working.

Make it beautiful so other people can read your code. Working code isn’t useful if no one can maintain it.

Make it fast should always be the last step. Don’t optimize when you don’t know what will be slow.

Enterprise Open Source

Lots of people don’t know what it takes to open source software from within an enterprise. Smaller companies might require peer review, an internal form, and maybe a license review.

Large enterprise will have all of that and include tooling so you can track transitive dependencies, an open source office review, multiple lawyer meetings, and maybe a patent assessment.

Refactoring enterprise, open source code isn’t straight forward either. While there is some freedom once the code is available under a permissible license there is still a lot of value from neutral governing bodies and foundations.

I use to hate make because I didn’t understand it. Not only could I not make sense of all the weird variables and Makefile syntax, but it was hard to search for tutorials and examples.

I’ve learned a lot over the years from reading other Makefiles and many, many hours failing to make make do what I wanted. This tutorial and examples is something I wish I had years ago. I’m glad I found it last week because I still struggle.

Makefile Tutorial By Example Makefile Tutorial by Example

I may have shared this before but that’s OK because there’s a lot of new subscribers and if I forgot, you may have too.

Earthly is like make + Docker. I’ve written a lot of Makefiles that use Docker to give repeatable, portable builds. Earthly takes that one step further and integrates them directly.

Earthly - Better Buildsearthly.dev Earthly - The world deserves better builds

I like embedded circuits. The reason I wanted to be a developer was to make lights blink. This website makes programming physical lights as easy as drag and drop.

Adafruit Circuit Playground Express - Blocks / Javascript editormakecode.adafruit.com A Blocks / JavaScript code editor for the Adafruit Circuit Playground Express.

Follow me

Here's where I hang out in social media