[Web Feed] In a recent article on clang-tidy I referenced the fact that we're doing a hu...

Feed Supplier <[email protected]> Wed, 12 May 21 16:52:28 UTC
Newsgroups alt.comp.programming
Organization Usenet.Farm
Message-ID <[email protected]>
..ge refactoring regarding char pointers, lifetime, ownership and



In a 
raymii.org/s/snippets/Run_one_specific_clang-tidy_check_on_your_codebase.html: recent article on clang-tidy I referenced the fact that we're doing a huge refactoring regarding 


char


 pointers, lifetime, ownership and 


std::strings


 Todays post is another one related to that change, where even though everything compiled correctly, it didn't 


work


 For a compiled language, that is not something you expect. Next to unit tests, a compiler error is your number one sign that you've made a mistake somewhere. In this case however, the code all compiled fine. The issue here was an older part of the code not using 


override


 combined with automated refactoring in CLion missing some parts of the code during a change. So, the issue in this case is entirely our own fault, it was spotted in the manual testing, but I'd rather had it not happen at all. In this post I'll describe the problem including some example code that illustrates what happened. My key point is that even though the code compiles, you should always test it, preferably automated with unit and integrations tests, otherwise manually with a runbook.




Link 1


It compiles does not always mean that it works, a tale of virtual overridden fun in C++ - Raymii.org: https://raymii.org/s/articles/It_compiles_does_not_always_means_that_it_works.html