We are data producers, every time we purchase something we are creating data, when we go to run or even everyday our footsteps can be data if we have the right tool to measure it. Data is important since if you need to improve something, you have to measure this data, apply a change and …

In the previous posts, we took a look at how functions are the core pieces in functional programming languages. We talked about pure functions, referential transparency, side effects and recursion in the previous posts. In this post, we are going to explore some properties of functions and how we can use them in a functional …

Recursion is a technique that allows us to break down a problem into smaller pieces. This technique allows us to remove some side effects that we perform while writting looping structures and also makes our code more expressive and readable. In this post we will see why is a very present technique in functional programming …

Functional programming is based on the simple premise that your functions should not have side effects, they are considered evil in this paradigm. If a function has side effects we call it a procedure, so functions do not have side effects. We consider that a function has a side effect if it modifies a mutable …

In the previous post, we wrote the acceptance test as a first step and started creating the most external classes of our implementation. In this post, we will finish implementing the system, and will summarize what we have learnt during the process.

Inner loop continuation

To finish the BankAccount class, we need to implement its last public …

In the previous post, we introduced the Bank kata. We explained how we are going to implement it in Android, reviewed the different kinds of tests that we use in Outside-in and transformed a user story into a bunch of acceptance criteria.

Outside-in Test-Driven Development (TDD) can be a challenge to implement. In this 3-part post series, we would like to share our experiences applying it to Android development and offer some practical tips for doing so yourself.

As Android developers, we have been trying to apply the inside-out TDD style to our daily workflow but we thought …

I learnt how to work with my intelliJ / Android Studio without using my mouse and what I most like is that I spend less time executing the actions that I need, like refactoring, managing files, etc and I am more focus in what is really important, the code.

After modeling my domain layer here it comes, modeling my presentation layer. The reason for this post is that I saw in many projects that are moving from a legacy codebase to an MVP approach that there are some issues trying to differentiate what belongs to the presentation layer and what belongs to the UI …