Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
Ben Nadel at Scotch On The Rocks (SOTR) 2011 (Edinburgh) with: Cyril Hanquez and Hugo Sombreireiro and Reto Aeberli and Steven Peeters and Guust Nieuwenhuis and Aurélien Deleusière and Damien Bruyndonckx
Ben Nadel at Scotch On The Rocks (SOTR) 2011 (Edinburgh) with: Cyril Hanquez@Fitzchev ) , Hugo Sombreireiro@hsombreireiro ) , Reto Aeberli@aeberli ) , Steven Peeters@aikisteve ) , Guust Nieuwenhuis@Lagaffe ) , Aurélien Deleusière@adeleusiere ) , and Damien Bruyndonckx ( @damienbkx )

Project HUGE: Exercise List - A Journey Into Object Oriented Programing

By Ben Nadel on
Tags: ColdFusion

I love working out. I love taking steel and moving it around. It's an awesome feeling. What I'd like to do is take that passion and parlay it into some object oriented programming goodness. Basically, I want to do what I was hoping to do with Skin Spider, but on a much much smaller scale (at least to begin with) and, actually finish it this time. And so, a new project beings - Project HUGE: Exercise List.


Project HUGE: Exercise List  

The project is going to be really small. It will consist of just 2-3 pages:

  • Search Page
  • Exercise List
  • Add New Exercise

I say 2-3 as I am not sure that I will even separate the search from and the listing page. But you get the idea - very simple. The beauty of it, though, is that exercises can be expressed in somewhat complex, but highly definitive ways. For example, what you might call a "Bench Press", could also be called, "Bilateral multi-joint shoulder flexion in the transverse plane". Furthermore, that can be broken down into the following components:

  • Multi-joint shoulder flexion
  • Multi-joint elbow extension

As you can see, even though the premise is simple, there is a lot of room here for relationships that might benefit from some object oriented programming. I hope to set up the project environment just like Skin Spider was set up - where you could view the code files and see the progress. Then, I am going to attack this project in an iterative fashion; first, I will throw this together in a procedural manner (aka the way I always do things). Then, I will apply object oriented programming techniques.

I know there are a lot of OOP style projects out there that aim to teach, but I am a hands-on guy. I simply don't have the ability to learn just from looking at other people's code. Too many paint chips eaten as a child I suppose. As I go, I am sure I will learn from many of the tutorials out there. I will try to give credit where credit is due.

Note: I know that exercises can become very complex and actually grow to combine multiple exercises (ex. Lunge and Curl or Clean and Press). For this project though, I am going to consider those types of things a single exercise. Maybe in the future, there can be the concept of a "complex" exercise, but not for this project.

Reader Comments