Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
Posts: #Knowledge

Posts: # Knowledge

Oct 07 2016
Why using finalizers is a bad idea
Ilya Ivanov
Not so long ago we worked on a diagnostic rule related to the finalizer check. This provoked an argument on the details of the garbage collector work and the finalization of objects. Although we...
...
Sep 15 2016
How to avoid bugs using modern C++
Pavel Belikov
One of the main problems with C++ is having a huge number of constructions whose behavior is undefined, or is just unexpected for a programmer. We often come across them when using our...
...
Subscribe to the newsletter
Want to receive a monthly digest of the most interesting articles and news? Subscribe!
Jul 05 2016
How to not shoot yourself in the foot when working with serialization
Sergey Vasiliev
Despite the fact that it's quite easy and comfortable to use the serialization mechanism in C#, there are some points that are worth taking note of. This article is about the ways in which you...
...
Jun 15 2016
Amusing C#
Vitaliy Alferov
To assess the quality of PVS-Studio C# diagnostics, we test it on a large number of software projects. Since projects are written by different programmers from different teams and companies, we...
...
Apr 14 2016
The Ultimate Question of Programming, Refactoring, and Everything
Andrey Karpov
Yes, you've guessed correctly - the answer is "42". In this article you will find 42 recommendations about coding in C++ that can help a programmer avoid a lot of errors, save time and effort...
...
Logical Expressions in C, C++, C#, and Java. Mistakes Made by Professionals
Sviatoslav Razmyslov
In programming, a logical expression is a language construct that is evaluated as true or false. Many books that teach programming "from scratch" discuss possible operations on logical...
...
Mar 29 2016
Type Conversion in C++ and C# Arithmetic Expressions
Ilya Ivanov
In arithmetic expressions, the types of operands can be converted to a common type. Such conversions are described in the language standard, and in C# they are much simpler than in C++. However...
...
Mar 22 2016
Detecting Overflows of 32-Bit Variables in Long Loops in 64-Bit Programs
Andrey Karpov
One of the problems that 64-bit software developers have to face is overflows of 32-bit variables in very long loops. PVS-Studio code analyzer is very good at catching issues of this type (see...
...
Feb 05 2016
Undefined behavior is closer than you think
Andrey Karpov
Some people think that undefined behavior is caused only by gross errors (accessing outside the bounds of the array, for instance) or inadequate constructions (i = i++ + ++i, for example). That's...
...
Jan 15 2016
Avoid adding a new library to the project
Andrey Karpov
Suppose, you need to implement an X functionality in your project. Theorists of software development will say that you have to take the already existing library Y, and use it to implement the...
...
View more Pagination arrow previous
Showing: - of 157