TDD is Seldom Understood

Introduction

I read and re twitted the post by Chris Fox titled “Test-Driven Development is Fundamentally Wrong” in Hacker Noon. In the past few months, I have been reading multiple articles a day about TDD. It seems to me that most people (i.e., software engineers and software managers) have heard about the benefits of using TDD, but it all collapses when understanding and applying the proper concepts or fundamental nature. Continue reading “TDD is Seldom Understood”

Flatland Space Stations

Please do not be shocked by the introductory sentences. I was born into an Italian family. My parents moved from Italy to Peru in the 1930’s. Growing up in Peru we were introduced to have wine with weekend meals. In particular wine was only served for lunch. My sisters and I started drinking lemonade with wine. After a few years we moved to have a desert that is made of fresh strawberries with sugar and wine. You just mix the ingredients and let them sit for a couple hours in the fridge. If you try it this summer, make sure it is served chilled. As we got older we had weekend lunch with a couple bottles of wine. None of us ever had issues with alcohol. Different cultures have different approaches to solve the same issue. We just need to make sure that what we do works to solve the problem. If it does not, learn and put practice different approaches. This philosophy can and should be applied to life and software development. Continue reading “Flatland Space Stations”

Binary Tree – Heap

I read an article or two from Medium every day. A few days ago I read “Binary Trees: The Heap” by David Pynes. The idea behind a binary tree or heap is to be able to associate values with associated priorities. For example, assume you are in line at an emergency room in a hospital. When you arrive and register the facility may use a plain queue (FIFO) to wait for a physician. What happens if a patient in worse condition that you arrives later. The logical thing would be to allow them to see a physician before patients that are less ill. Continue reading “Binary Tree – Heap”

Echo Server and Client

This past winter was quite long but not too cold. A few weeks ago we received a one two punch with two winter storms. After that the temperatures went up and we had a day with temperatures in the mid 80s. In the past week the temperatures were down. Last night we were in the lower 40s. We turned off the central heating system at home for the season. We have already been using the air conditioner for a few days. This morning the inside temperature upstairs was 66 F. My home office is downstairs. The temperature has been at a solid 60 F so far. My wife and I are planning on going for a walk in a couple hours. Continue reading “Echo Server and Client”

Parse Text

UPDATE – April 09, 2018When I started this post, I was thinking in several follow ups in order to try different approaches and be able to continue to improve on previous passes by adding code or starting from scratch when a new idea came up. I was interested in showing a normal progression that the reader would encounter when developing software. In the days that passed, I decided to limit the subject to a single post. Please let me know if you encounter an issue or would like for me to expand on this entry.

Sometime last week I attempted to solve a simple online challenge. The challenge dealt with parsing a string of text and then obtaining information from the string. There are probably thousands of variants to the challenge. I am not going to cover the exact challenge in this post. I will make my own. Will start simple and will get more complex each time we add a new obstacle. Continue reading “Parse Text”

Test Driven Development – TDD

I was about to continue the design and implementation of the single link queue using C++ and decided to write this blog to illustrate the TDD process that I follow when developing code. The initial architecture and design phases have already passed. I am now facing the design, implementation and testing of some methods that could be used around the implementation of dequeue (remove) the next element in a FIFO (First In First Out) fashion.

Please note that I am using C++ and the Visual Studio 2013 IDE running on a Windows 10 platform. Continue reading “Test Driven Development – TDD”