Book Review - Elegant Objects Vol 2

Much like Volume 1; Elegant Objects Vol 2 [https://www.amazon.com/Elegant-Objects-2-Yegor-Bugayenko/dp/1534908307/]is fantastic. It didn't impact my mental model of how to develop software as much as Vol 1. This Vol is more about the things that are destructive to the desired programming paradigm…

HackerNews Android - Formatter

A comment on my Early Thoughts: Object Oriented Encapsulation [https://blog.quantityandconversion.com/2017/04/09/object-oriented-encapsulation/] post brought up an excellent view about how to decouple a class from it's display mechanism. I'm on board with this idea. It helps keep the objects to their…

Book Review - Elegant Objects Vol 1

A colleague brought up Elegant Objects (Vol 1) [https://www.amazon.com/Elegant-Objects-1-Yegor-Bugayenko/dp/1519166915/] by Yegor Bugayenko; suggesting someone read it and see if it's worth while for those looking trying to follow best Object Oriented Programming/Design practices. I can read through books pretty quickly; I…

The Hotel Pattern

Welcome to the Hotel! The Hotel pattern is a UI pattern I've started using based off a few things. A big one is my disdain of existing UI pattern and the poor Object Oriented Design patterns they encourage and fascilitate. Another is the focus on software craftsmanship and…

My Thoughts: Slow Tests are Bad Tests

> My tests are slow! They were slow anyway... Part of the Ruthless Refactoring I've been doing while working on the HackerNews App has been to improve the performance of the unit tests. I easily shaved off a second from the tests during the "Clean Architecture"…

My Thoughts: Spike to Refactor

When you're stuck on how to do TDD for a refactor; and can't find the test to drive the refactor you'd like to see; a spike can often help. What I've done are a spike w/o tests to figure out a…

Android HackerNews App : Refactor to Clean Architecture

A philosophy I like and have made a(n unknowingly) passive effort to implement before is called "Clean Architecture". It's the idea of an application having dependencies that flow "outward". Go read The Clean Architecture [https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.…

HackerNews Android - Let's not crash

As discovered in our last session - Opening a lot of connections breaks things. The creation of the OkHttpClient is done in HackerNewsNetwork#getClient... ugg... A get. Ruthless refactoring! As I was saying; the creation is done in HackernewsNetwork#httpClient. private OkHttpClient httpClient() { return interceptorObj == null ? new OkHttpClient() : new OkHttpClient(…