As part of Scrum, a retrospective meeting (“retro”) is held at the end of a sprint to look back on factors that affected the sprint and provide feedback, good or bad. The purpose is to learn new lessons and take action to adapt in the future. My belief is that the retro is as important as 1-1s with your manager for career growth and business impact. A retrospective can serve to improve the pro...
Your name is one of the most important parts of your identity. It is the same with code. Each module, class, function, and variable has a unique identity and fulfills a unique purpose identified by its name. The precision and length of a name can correspond to the scope: if a name is seen often, it’s probably a highly reusable and generic entity. These entities can have shorter, more vague (re...
Surprisingly, returning early from a function is a controversial topic. This post is yet another one suggesting to return early, adding to the existing literature of blogs, more blogs, stack exchange questions, and stack overflow questions. I find early returns, i.e. guard clauses, to improve code readability by reducing both nesting, context switches, and the amount of code to read when traci...
Const correctness refers to the correct use of const to indicate whether a variable or parameter shall be modified or not. Other languages may inherently make variables const (“immutable”) by default, with a mutable values explicitly defined as such with a separate keyword: sometimes I wonder whether this is a better approach. When tracing some data over many function calls, having those functi...
Intro We’ve all been there: you build your application, run it, and see it crash: possibly with an error message like Segmentation fault (core dumped). The (core dumped) part is what we’ll discover today. Most of the information on this page is documented more concisely in the core dump manual. What is a Core Dump? When an application is launched, it becomes a process that is tracked by the...