Refactoring with Boolean Algebra and De Morgan's Laws
Many junior and mid-level programmers working today have opted to skip a university education and, instead, have either gone through an Associate's program or a coding bootcamp. Some programmers started their career out of college without ...
2015.08.05
Mainstay Monday: SOLID - Open/Closed Principle
This post is part of a series on the SOLID programming principles. Last week we discussed the concept of single responsibility in programming. Continuing the process of discussing SOLID principles, let's take a look at the Open/Closed Pri ...
2015.08.03
Code Smells - Conditional Obsession
Jeff Atwood of Stack Exchange and Coding Horror fame wrote a post quite a long time ago about code smells and what they mean. A couple weeks ago, I discussed eliminating switch statements using hashmaps. In that post, I introduced a new co ...
2015.07.29
Mainstay Monday: SOLID - Single Responsibility Principle
This post is part of a series on the SOLID programming principles. Starting this post and for the following four Mainstay Monday posts, I am going to go through the SOLID principles as put forth by Bob "Uncle Bob" Martin and Michael Feath ...
2015.07.27
Contracts for Better Code
With programming languages which have a greater draw for classically trained computer science types, there is a common discussion of contracts and data expectations. Contracts are so inherent in the code that it's hard to see a declaration ...
2015.07.22
Mainstay Monday: Solving Problems With Recursion
If you have been writing Javascript for any amount of time, you're sure to be familiar with standard loop structures. For and while blocks are part and parcel of the modern programming experience. On the other hand, if you haven't done a ...
2015.07.20
Dependency Injection Without A Framework (Or Pain)
If you've come from one of those big name, big OO frameworks, you are probably used to the idea of an Inversion of Control (IoC) container and dependency injection. If you have worked with Angular, you're probably familiar with their depen ...
2015.07.15
Mainstay Monday: Managing Type Coercion
If you are new to programming and, especially, to a dynamically typed language like Javascript you are likely not familiar with type coercion. The best way to think about type coercion is, when dealing with two values of different types, ...
2015.07.13
Eliminating Switch Statements with Hashmaps
It has been a really, really long time since I created a switch statement. I'm not saying there is no place for switch statements in programming, I'm just saying, I haven't had a reason to use one in a long time. Even though I haven't writ ...
2015.07.08
Mainstay Monday: Contextual Scope
Last week we kicked off a discussion of scope in source code. We talked about lexical scope and how that impacts the way variables are accessed. There is another element of scoping called contextual binding, which is what gives people the ...
2015.07.06
1789101115