Why are we doing refactoring ?

Technical debt is the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer. That leads to the safe assumption that every software project has already incurred some technical debt, which will subsequently increase the risk and cost of change for

C++ Heap Corruption Problem

In the last six months I am consulting a company in C++. Today my colleague and I find out a very tricky heap corruption. Below is presented a C++ snapshot with the heap corruption. Can you see the problem ? [cpp]string Core::ntos(unsigned int n){ string ts= ""; if( !n

TDD Bag Code Kata

Practice of Bag code kata. For any references please see the link below http://algs4.cs.princeton.edu/lectures/13StacksAndQueues.pdf Stress Testing of Passive Object (Bag) for any references please see the book Growing Object-Oriented Software Guided by Tests  TDD rules which I follow from Jason

Testing is developers’ job not testers’

When I started working as a developer, I didn't work with a tester. So I keep thinking that quality and testing of the code is developer's job, and Gojko Adzic presentation confirms my understanding of software development process on some way. Take a look the Gojko Adzic presentation with his QA analysis about Greece