Foo, Bar, Baz - The path to confuse your audience.
Tags: javascript, webdev, productivity, beginners
Published: 2019-10-06 18:10:22

##The Problem

As a developer, I have always been good at memorizing patterns. Therefore, I can whip up applications using various tools. I can usually find documentation which feature patterns that match my knowledge. That is where the problem comes in.

I can consume libraries based on their patterns. However, I still struggle with looking at a blank document. I have been uncomfortable with establishing my own creative pattern with any of the programming languages I know. This is largely due to the vast amount of courses, tutorials and books that I have consumed over the years that included the senseless Foo, Bar, Baz examples.

With any spoken language, you learn words, you phrase them into something sensible using small sentences. Eventually you're able to creatively express yourself.As programmers, we realize that we speak in variables all day long. 

You experience moments, input feelings into those moments, store those moments to express later. Variables, without doubt are meaningful to our applications as much as our daily life.

Example: *This is the worse program logic in the world and immediately disqualifies me from ever making instructional material at length.*

```
// I am only capturing and hoping to change this awful mess later.

let coffeeMaker = brokenCoffeeMaker; 


if coffeeMaker === brokenCoffeeMaker {
  console.log('#$$&##&@, F-You World, not ready to say Hello yet');

} else {

 console.log('Sing a Disney song all the way to work');

}
```

##To Instructors of Programming Topics & Documentation Teams
First, thank you for taking the time to address a need and introduce us willing learners to various programming topics. It ultimately helps us gain competitive edge towards our future. 

Please, rethink your variable naming for instructional material. Your audience would rather learn from code that reads like a story. Trying to figure out what Foo, Bar, Baz or other insignificant variables mean. Destroys the value of the code logic you are trying to share.

##Solution: An Awesome Learning Gem for JS Programmers and Instructors

I wanted to share a FREE short length (2hrs) JavaScript course I found on Udemy. This module truly broke the barrier I was suffering with. Creative Programming.

When you look past the lack of syntax highlighting and the instructors use of a very basic text editor (Notepad) as well as usage of ES2015 (It is what Babel coughs out for us right?). *My thought process... if this instructor doesn't need highlighting, es-lint and various other useful editor add-ons. I'm going to pay attention*  

The instructor, Chris DeLeon truly hits the mark on discussing meaningful and sensible variables while breaking down the meaning for every line of code. His use of hard coding values first, then refactoring the code with pre-school literacy level variables provided an impacting learning experience.

Finally, all of the lightbulbs went off in my head. I am watching creative programming. I appreciate now more so than ever, how much control I have during the creative programming process.

While it is a simple game, the programming required introduces some complex logic, motion, variable storage, reconstruction of variables as the application evolves. This is exciting. You get a Pong Clone for your effort of investing only a couple hours.

Code Your First Game: Arcade Classic in JavaScript on Canvas
https://www.udemy.com/share/101r8kAEIYeV5XQXg=/


*I am not affiliated with Chris DeLeon, nor do I benefit in sharing this course.*

##P.S.

```
//Forget about fixing my earlier variable. Starting over.

const angryDerek = buysNewCoffeeMaker;

// Apologies to any Dev I may have frightened with my terrible brokenCoffeeMaker logic.  
```