best practices The principles and habits of healthy software Throughout the last few years of my career, two words have been present almost every day: principles and habits. I believe both can help us be better people and drive positive change around us – in general, but in software in particular.
best practices Obvious Programming A technique to know how much refactoring you need on a piece of code. Refactor your code until it looks obvious to you and your team
refactoring Featured Refactoring step by step: extract validation logic from a method How to keep your code with validations clean? here’s a step-by-step example that improves an existing piece of code only using automatic refactorings!
refactoring Featured Using Acorn to implement a refactoring in Javascript (Part 1: hacking it) I often ask myself: if we don't have a refactoring in this language, how much would it take to implement it? I'm presenting here an experience writing a simple source code transformation for Javascript.
refactoring El arte de las pequeñas mejoras Refactorizar es lindo. Pero la realidad nos presenta restricciones (tiempo, alcance, tecnológicas, políticas). Ahí es donde la creatividad toma importancia y debemos lograr un alto impacto en poco tiempo, mientras hacemos crecer nuestro software.
best practices Clean Code Cleanups I’ll walk you through different stages of code cleanup, and things to have in mind to make it in an efficient way, based on my experience.
technical debt Paying off Technical Debt one step at a time Technical debt grows in any codebase. Sometimes you want to pay that debt, but due to the lack of time or new features requests from stakeholders, you can’t get your hands on it. So, how can you do it?
software design Refactoring legacy code story Is the following story familiar? A client knocks to your door, asking for help with a software developed by another vendor. He complains about developers always being late to deadlines and every time a new version is delivered there are plenty of things that are not working properly.
agile Benefits of agile software development Incremental deployment: minimize time-to-market Since agile processes deliver working software at the end of each iteration (typically around 1-4 weeks) and requirements are prioritized by business value, the organization might choose to release a version of the product as soon as a Minimum Marketable Feature (MMF) has been completed. This