dongol-ts.hashnode.devUnit Testing: Why It MattersUnit Testing vs. Integration Testing Unit testing is one way to verify the correctness of code. It is distinct from integration testing. Integration testing is typically end-to-end (E2E): it validates1d ago·2 min read
dongol-ts.hashnode.dev(Optimization) Lazy evaluation : Postpone until the result is actually neededIn software engineering, we are sometimes taught to be prepared. We initialize variables, construct objects, and compute values early in a scope to ensure they are ready for use. This is known as “eager evaluation.” However, we must be careful not to...Dec 15, 2025·3 min read
dongol-ts.hashnode.dev(C++) Iterator invalidation : The silent killer in C++ loopsUnderstanding Iterator Invalidation Iterators are the glue that connects STL containers to algorithms. They behave like pointers, allowing you to traverse and access elements. However, iterators are not permanent handles. Certain operations on a cont...Dec 14, 2025·2 min read
dongol-ts.hashnode.dev(C++) Performance traps of std::vector and how to avoid themFor most C++ developers, std::vector is the default choice among STL containers.Thanks to its contiguous memory layout, it is highly cache-friendly and offers fast O(1) random access. However, using std::vector without understanding its internal mech...Sep 28, 2025·5 min read
dongol-ts.hashnode.dev(C++) Why should we be conservative about using std::set and std::map?As a C++ programmer, you often face the decision of which STL container to choose. If you are developing an application where performance (both runtime and memory) is critical, you should carefully consider the use of associative containers like std:...Sep 14, 2025·3 min read