A development team, working on a static analyzer, has already checked a game engine under Windows. In this check we used a Linux version and the result showed that there were a large number of serious errors. The article covers only the general analysis warnings and only “High” level of severity (there are also Medium and Low levels).
In this article we'll look at the main features of SonarQube - a platform for continuous analysis and measurement of code quality, and we'll also discuss advantages of the methods for code quality evaluation based on the SonarQube metrics.
SonarQube is an open source platform, designed for continuous analysis and measurement of code quality. SonarQube provides the following capabilities:
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 static analyzer on various projects. But, as we all know, the best thing is to detect errors at the compilation stage. Let's see which techniques in modern C++ help writing not only simple and clear code, but make it safer and more reliable.
What is Modern C++?
The term Modern C++ became very popular after the release of C++11. What does it mean? First of all, Modern C++ is a set of patterns and idioms that are designed to eliminate the downsides of good old "C with classes", that so many C++ programmers are used to, especially if they started programming in C. C++11 looks way more concise and understandable, which is very important.
The PVS-Studio team have written an interesting article about the ways in which you might shoot yourself in the foot working with serialization, code examples, where the main pitfalls are, and also about the way static code analyzer can help you avoid getting into trouble.
This article will be especially useful to those who are only starting to familiarize themselves with the serialization mechanism. More experienced programmers may also learn something interesting, or just be reassured that even professionals make mistakes.
However, it is assumed that the reader is already somewhat familiar with the serialization mechanism.
Roslyn is a platform which provides the developer with powerful tools to parse and analyze code. It's not enough just to have these tools, you should also understand what they are needed for.
The article can be divided into 2 logical parts:
General information about Roslyn. An overview of tools provided by Roslyn for parsing and analyzing the code. We provide a description of entities and interfaces, as well as the point of view of a static analyzer developer.
Peculiarities that should be taken into account during the development of static analyzers. Description of how to use Roslyn to develop products of this class; what should be considered when developing diagnostic rules; how to write them; an example of a diagnostic.
This article is intended to answer these questions. Besides this, you will find details about the static analyzer development which uses Roslyn API.
More: Introduction to Roslyn and its use in program development
Now everyone can post their articles!, just register and push "add"
Your welcome ;)
There are 3 types of lies: Lies, damned lies, and statisticsStatistics, infographics, data analysis and data science – who isn’t doing it right now. Everyone knows how to do it right, just left for someone to write how you SHOULDN’T do it. In the article we’ll try to fix it.
(Hazen Robert "Curve fitting". 1978, Science.)
- Sampling Bias
- Well-chosen average
- 10 more failed experiments of which we haven’t written yet
- Playing with scale
- Selecting 100%
- Hiding main numbers
- Visual metaphor
- Example of qualitative visualization
- Conclusion and what to read next
You are so lucky to be a programmer. I would like to be the programmer.
- Why do not you learn?
- I already tried. I checked out codeacademy and other websites, but it is not mine.
- Yep, the programming is not really for everyone.
- You are well paid, and you can create different things. Almost every day you get some crazy offers at least for 100 thousand dollars.
- Yep, honestly it's very flattering and a little mind-blowing.
- You get your share in the company and you know that the software engineers are always respected. You can implement any idea in the app and get rich. Moreover, you do not need to hire anyone for this.
- Actually, the programming makes me miserable.
- Wow. What do you mean by that?
- In order to be a good programmer, I need to develop a special mindset and that makes me sad. I noticed this in other programmers, of course, not all, but in many.
- What is this mindset?
- This is concentration on the strengths, and not on the weaknesses.
- Why do you need this to become a good coder?
- I work like this:
Do you remember this movie? What is it doing here? Why the hell such post on Kukuruku at all?
I guess, because I think that the main piece of IT is human, or rather our brain. I’ll tell you about another possibility of using your brain a bit more effectively. Everything described here has been tried out on me. It’s important to note that I’ll highlight if I haven’t tried something out. I didn’t use any drugs or devices. Popular methods have only been used. And yes, it’s devastatingly realistic. Having tried it once, you'll never resist telling about it.
GPGPU technology has stimulated the appearance of several renderings on the GPU in the market, including iRay, V-ray RT, Octane, and Arion. But open-source community made available at least two free renders on the GPU: SmallLuxGPU and Cycles Render. I want to share my impressions about the second one.
Cycles Render is unbiased render with the ability to render on the GPU (CUDA and OpenCL for ATI). It lies in a box with the Blender that runs on Windows, Linux, and OSX.
Cycles Render, this is a car with the procedural texture, FullHD was prepared in 2 minutes using GTX580.