-
Object Seams and MVP for Testability
2016-12-09
In my last post, a continuation of a written version of the talk I gave at Florida dev fest, I tried to give an answer to the question, “What makes apps testable?” The answer: seams. Seams make apps testable, and in this post, I want to talk about a particular kind of seam: object seams. The key insight behind object seams in this: The fundamental thing to recognize is that when we look at a call in an object-oriented program, it does not define which method will actually be executed.…
-
What makes Android Apps Testable?
2016-12-03
This post is a continuation of my attempt to reproduce my recent DevFest talk in written form. …
-
Why we Should Probably Write More Tests for Our Android Apps
2016-11-07
This past weekend, I had the privilege of speaking about writing testable Android apps at Florida DevFest. This post is a written version of one of the major points I made in my presentation. Let’s start off with two descriptions of attitudes towards testing. The first comes from Kaushik Goupal (he’s describing an attitude, not endorsing it): Testing seems to be like going to gym. Everyone feels like “yeah. I should be testing.…
-
Using Git Submodules Effectively
2016-10-23
I used to think git submodules were categorically evil. This was naive, as most choices in software development are about tradeoffs. A part of the reason I had this simplistic view was because of an article called “Why your Company Shouldn’t use Git Submodules.” I took a second look at this article recently and I read the docs on git submodules. What follows are some more nuanced thoughts on how and when git submodules can be used effectively.…
-
3 Ways of 'Getting to Green'
2016-10-16
A part of the TDD work flow is getting a failing test to pass as quickly as possible. This makes sense if we think about how TDD is supposed to help us take smaller steps when we’re writing programs. Beck goes over three ways of getting a test to pass quickly in the fist part of TDD By Example. The first method is to fake it. Just hard code whatever values you need to to get the tests to pass.…
-
The goal of refactoring During TDD
2016-10-16
Red, green, refactor. That’s the TDD flow. That much was obvious to me. However, refactoring is a pretty broad term. There are many reasons you may want to refactor code and as a result of this, I didn’t really understand what exactly was supposed to happen during the refactor step of the TDD loop until I finished the first part of Kent Beck’s TDD by Example. Actually, in the first description of TDD, Beck uses a more helpful description of the “refactor step.…
-
TDD and Startups
2016-10-16
Kent Beck introduces TDD by Example with a little story meant to show the business value of automated testing: Early one Friday, the boss came to Ward Cunningham to introduce him to Peter, a prospective customer for WyCash, the bond portfolio management system the company was selling. Peter said…“I’m starting a new bond fund, and my strategy requires that I handle bonds in different currencies.” The boss turned to Ward, “Well, can we do it?…
-
Capital Intensive MVPs
2016-08-12
According to Eric Reis, MVPs allow us to test our business’ most important “hypotheses.” This is supposed to help us “fail faster,” but I’m finding that there are real differences in how much effort we have to put into our MVPs before we can validate our business hypotheses. In other words, some MVPs are more capital intensive than others. This is a big deal because you often can’t get favorable investment terms until you’ve shown that you’ve got product-market fit.…
-
On Selling your Soul: Notes on Gregg Pollack's Founder's Talk
2016-08-09
If you’re going to be successful, Richard, you need to learn to be an asshole. Erlich Bachman, Silicon Valley For those of you who don’t know, I was recently accepted into Starter Studio, an Orlando-based incubator to work on University Android, a codeacademy-like program for learning Android development. Every Monday night, Starter Studio brings in successful founders to talk about things they’ve learned along the way to success. I’ve decided that throughout my time at Starter Studio, I’d like to note two big “take aways” from each founder’s talk: one business-related and one personal.…
-
Unit Testable RecyclerViews
2016-08-08
When building our Android apps, we can often wind up with a decent amount of code in our RecyclerView.Adapters that we want to test. In this article, I briefly suggest two ways of structuring our RecyclerView-related classes so that we can accomplish this. …