Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Posts by Dirk Herrmann
What if a question is beginner level? I would say: Someone should answer it. Some of the beginner level questions on stackoverflow have received answers that explain things in wonderful ways. Be...
There is one thing to clarify when mapping a float interval to an integer interval, namely how the boundaries of the float interval shall be mapped to the boundaries of the integer interval. Takin...
Assume this trivial logic puzzle which I have made up: There are three boys, Fred, John and Max. No two of the boys have the same age. Max is older than John. Fred is not the oldest one. Quest...
grep is not the right tool for your case. You can use basename: basename a/b/c --> c basename a/b/c/ --> c or, in your case basename branches/features/arm_and_musl --> arm_...
As @Quasímodo has shown, the search pattern \(abc.*\)\@<!bird\|bird\(.*xyz\)\@! solves your problem. But, why does it work, and why does your original approach not work? What you want to achi...
From your description ... I have text (xml actually) files. Some files contain 'foo', some contain 'bar', some contain neither and some contain both. It's the both I'm interested in. ... I co...
The expectation for all posts is, that a post is always understood as the own work of the poster, who has the copyright and responsibility for it and offers it to the site according to the site's c...
Note: This answer was written for a version of the question that focused on getting rid of the if-else, rather than on an explanation of the workings of the recursive tree-traversal. One way of ge...
To understand the concept of recursive tree traversal, I would like to give you an analogy. Imagine a labyrinth of rooms connected like a tree structure. That is, there is an entry to the first r...
The concept that is important to understand here is the concept of operator precedence. Assume you have an expression a + b * c. What does it mean? You could have the following options: (a + b) ...
The way your code handles the variable i within the for loop seems to indicate a wrong understanding of the meaning of for i in range(1,n+2): range(1,n+2) will provide an object of type range. ...
What does ptr() mean in this code? An expression like ptr followed by parentheses as in ptr() is a function call. In your example, ptr is a variable of type "pointer to function" because of t...
Some thoughts about your design / code (not repeating what was already said by Derek): You have chosen member _observers of class State to be a list, and member function register to append to ...
I see it such that it is undefined behavior (I refer to N1570 as the OP https://port70.net/~nsz/c/c11/n1570.html): After free(p), the lifetime of the object pointed to has ended (7.22.3p1: "The li...
One simple possibility to eliminate a set of lines with precisely known content is to use the patch tool. The below code shows an example shell script. The script calls patch on the file to be mo...
Since your code performs a data base operation, the cost of this operation is likely dominating the execution time. The cost of both a return or an exception may be negligible compared to that ope...
To extend a bit on some points already mentioned: Regarding where to add checks on a case by case basis: If you have a static code analysis tool that can give you information about areas where pro...
Is this a good approach? How can I improve my algorithm? Your code is correct and simple. That is good, and it may be all that is needed. You have received some responses that indicate that ...
I like the idea, but more as an exercise or a demonstration what can be done with Python. I also like that the code comes with a set of test cases which are written in a way that they nicely serve...
Update: Distinguished between the general case and cases (as with std::string) where it is known that there are no side effects. In the general case, the substitution of the call to a copy constru...
Well, you still need (placement) new for the implementation of the smart pointers themselves. You would also use it (or malloc) to implement custom allocators, for example: https://www.boost.org/d...
It is undefined according to my reading of the standard (I am referring to the latest public draft). int x; (void)x; In the second line, (void)x is a full expression, but x by itself is alread...
Starting with the goals: A naming convention typically aims at supporting several, partly contradictory goals, among which are the following: Compliance with the limitations of the language stan...
For the regular expression to only match a full field of hyphens, you have, as others already have explained, to put the ^ anchor at the begin of the regular expression and the $ anchor at the end ...
There are some reasons why a function would intentionally not be declared static. (In the following I use the term 'module', but in contrast to others, I use it not to describe a file or translati...