3 ms·
About the benefits of a good C, C++ coding style and static code analysis
- PVS-Studio 10y ago1. Don't do the compiler's job 2. Larger than 0 does not mean 1 3. Copy once, check twice 4. Beware of the ?: operator and enclose it in parentheses 5. Use available tools to analyze your code 6. Check all the fragments where a pointer is explicitly cast to integer types 7. Do not call the alloca() function inside loops 8. Remember that an exception in the destructor is dangerous. 9. Use the '\0' literal for the terminal null character 10. Avoid using multiple small #ifdef blocks 11. Don't try to squeeze as many operations as possible in one line 12. When using Copy-Paste, be especially careful with the last lines 13. Table-style formatting 14. A good compiler and coding style aren't always enough 15. Start using enum class in your code, if possible 16. "Look what I can do!" - Unacceptable in programming 17. Use dedicated functions to clear private data 18. The knowledge you have, working with one language isn't always applicable to another language 19. How to properly call one constructor from another 20. The End-of-file (EOF) check may not be enough 21. Check that the end-of-file character is reached correctly (EOF) 22. Do not use #pragma warning(default:X) 23. Evaluate the string literal length automatically 24. Override and final specifiers should become your new friends. 25. Do not compare 'this' to nullptr anymore 26. Insidious VARIANT_BOOL 27. Guileful BSTR strings 28. Avoid using a macro if you can use a simple function 29. Use a prefix increment operator (++i) in iterators instead of a postfix (i++) operator 30. Visual C++ and wprintf() function 31. In C and C++ arrays are not passed by value 32. Dangerous printf 33. Never dereference null pointers 34. Undefined behavior is closer than you think 35. Adding a new constant to enum don't forget to correct switch operators 36. If something strange is happening to your PC, check its memory. 37. Beware of the 'continue' operator inside do {...} while (...) 38. Use nullptr instead of NULL from now on 39. Why incorrect code works 40. Start using static code analysis 41. Avoid adding a new library to the project. 42. Don't use function names with "empty"