Most developers emphasize immutability when dealing with functional programming. Code written in functional style is testable, because the functions operate on data treated as immutable. In practice though, I see this principle violated from time to time. I will present […]

Introduction to Immutable.js


comments
Should I write comments in my code? Should I avoid them at all costs? Should I use them sparingly? When developing software, all developers have their view on how and when to use comments. This article will reflect my opinion, […]

Are JavaScript Comments Useless?


You may have heard the advice that maintainable software is build using highly cohesive and loosely coupled building blocks. This is a statement that’s easy to remember, but difficult to understand. This article will clarify cohesion and coupling. Cohesion According […]

Understanding Cohesion and Coupling




Logging Reference Types
Following the previous post about principles of debugging web applications, it is time to explore JavaScript debugging in practice. Browser Developer Tools My personal favorite is the Chrome Developer Tools. Safari and Firefox don’t match the high standards set by […]

JavaScript Debugging Tips and Tricks


Firebug
Regardless of our coding skills we all make mistakes. Bugs do not only appear in our own code. Most web-applications are created by teams, and your teammates have the same right to make mistakes as you do. In addition, inheriting […]

Principles of Debugging Web Applications



Cloning
JavaScript made its way from being a toy language for simple animations to becoming a language for client side and server side web application development. Some generic concepts also made their way to the JavaScript world and developers become more […]

Cloning Objects in JavaScript


Reference Types
JavaScript does not give you full access to your data structures in memory. However, reference types still exist in the language. Mixing value and reference types comes with unwanted side-effects and bugs. Understanding the difference between value and reference types […]

Understand Value and Reference Types in JavaScript


Code
Developing and maintaining web applications requires code changes of excellent quality. When a team develops an application for years, team members lose track of some updates. Developers tend to make more mistakes when touching code they are not familiar with. […]

My 8 Step Code Review Process



eatmoretabs
Most people work about 40 hours a week, some more, others less. Given that you have 168 hours a week, maximizing your achievements does not scale with maximizing the amount of time spent on work. Instead of focusing on quantity, […]

Ten Productivity Tips for Software Developers


SinonJs
One of the most powerful features of SinonJs is the ability to create a fake server. This feature is very useful when unit testing a component that’s connected to a server via an API. Fake servers let you write real […]

Fake Servers in SinonJs


BackboneJs
Writing maintainable code is not easy in any frameworks or libraries. The fact that BackboneJs does not tie your hands makes your work even harder. Therefore, I will give you ten tips on tidying up your Backbone code. While some […]

Ten Tips for Writing Maintainable Code in BackboneJs