mokacoding

unit and acceptance testing, automation, productivity

Posts tagged "software-design"

What can a pipe wrench teach us about software engineering?

With his famous pipe wrench lecture, Vannevar Bush taught young MIT engineers the value of precision. The same teaching holds true for software developers.

You Don't Need It Yet

YDNIY is a purposeful restraint of what you decide to build in the interest of delivering value to the users as soon as possible and consistently.

"That's funny…" moments are learning opportunities

The most exciting phrase to hear in science, and software development, the one that heralds new discoveries, is not "Eureka!" but "That's funny…"

Honesty-Oriented Programming

If you focus on writing honest code, you'll end up with software that is easier to understand and work with.

How to test view controllers navigation

The answer to "How can I test that a view controller presents another view controller when something happens?" is as simple as defining a delegate.

The value of decluttering and optimizing your software

Digital minimalists believe that clutter is costly and optimization is important. Let me show you how these ideas apply to software development as well.

Write Less Code

The best thing you can do as a software developer is not writing code, but removing it. Here's why.

Functional Core Reactive Shell

This is a blogpost version of the content of my talk "Functional Core, Reactive Shell"

Explicit Dependencies, Swift Edition

A look at how to write classes and structs that expose their dependencies as initialization arguments in Swift.

Explicit Dependencies for Code with No Surprises

Sometimes the idea we get when reading a class interface is different from what is actually going on inside its implementation, for example there could be several hidden dependencies. Making a class dependency explicit in its interface is a useful technique to make the code simpler to understand, and easier to test.