Software Development
-
Code review challenge – The concurrent dictionary refactoring
In a recent code review, I had modified the following code: _freeSegments.AddOrUpdate(memoryDataForPointer.SizeInBytes, x =>{ var newQueue = new ConcurrentQueue<AllocatedMemoryData>>();…
Read More » -
Legacy Code to Testable Code #11: More Static Constructors
Where we last left off, we discussed how to dismantle the static constructor (or initializer) booby traps. And I promised…
Read More » -
Top 4 Javascript Concepts a Node.js Beginner Must Know
Wouldn’t it be awesome if you only had to know one programming language for building a full stack application? Ryan…
Read More » -
From Legacy Code to Testable Code #10 : Getting rid of static constructors
Here is the rest of the gang: Introduction Renaming Extract method Add accessors More accessors Extract class Add overload Introduce parameter…
Read More » -
Letting go of technical debt
The term “technical debt” was first introduced by Ward Cunningham as a metaphor. It was in the early 90s, when…
Read More » -
Optimising animation based collision volumes
Last time we talked about how we can approximate objects with complex shapes using simpler ones for our game’s physics…
Read More » -
Improve your Angular 1.x startup time
This neat and simple trick originally appeared about a year ago on this blog post, so it’s not something I…
Read More » -
Componentizing Workflow for Angular 2
A possible (mental) workflow to split up your static HTML into components Yesterday I wrote a tweet about how I…
Read More » -
Testing Strategy Analysis – An Example
Each stage of implementation is hard in its own way. When we start out with a new effort or process,…
Read More » -
Animation based collision volumes
There is hardly a single game that does not need some form of collision between game objects. In many cases…
Read More »