• How PVS-Studio prevents rash code changes, example N4

      Blender, PVS-Studio, std::clamp
      If you regularly use a static code analyzer, you can save time on guessing why the new code doesn't work as planned. Let's look at another interesting error — the function broke during refactoring, and no one noticed that. No one — except for PVS-Studio that can automatically scan the project and email the report to us.

      Read more →
    • IT risk management

      • Translation

      When you have an IT, which supports all aspects of your organization automated performance and you have a firm confidence that IT executes well, there is always a chance that something could go wrong in technology or in related IT processes. Depending on complexity of IT environment varieties of risks scenarios could arise. This article as a summary of different faithworthy sources aims to help you in getting high level understanding on what could go wrong and how you can predict it in a more conscious way.

      My name is Max Tornov and I have been working in various IT areas for a long period of time, since then, for over 13 years I am working in the area of IT risk management with specialization in IT audit and internal control effectiveness assessment.

      I am sure that at the present the topic of Information Technologies risk management became more vital. Organization’s efficiency in IT risk management directly affects the achievement of various organization’s goals, goals which have dependency on IT, those goals may include reliability and efficiency of business processes, the organization's compliance with regulatory requirements, the integrity of financial reporting, and many others.

      I sincerely hope that this material will be useful to you and may give you some new ideas that you can contribute to the benefit of your personal development and the development of your organization's risk management culture.

      Read more
    • How to choose a static analysis tool

        Tools to improve and control code quality can be a key success factor in a complex software project implementation. Static analyzers belong to such tools. Nowadays, you can find various static analyzers: from free open-source to cross-functional commercial solutions. On the one hand, it's great – you can choose from many options. On the other hand – you have to perform advanced research to find the right tool for your team.

        Read more
      • PVS-Studio team's kanban board. Part 2: YouTrack

          Hello everyone! Welcome to the second part of the PVS-Studio Team's Kanban Board story. This time we'll talk about YouTrack. You'll learn why we chose and implemented this task tracker and what challenges we encountered. We don't want to advertise or criticize YouTrack. Nevertheless, our team thinks JetBrains has done (and keeps doing) a great job.


          0853_Kanban_YouTrack/image1.png

          Read more →
        • Guide to naming in code

          We present a guide to name entities in code based on putting naming in perspectives of semantic space, design, and readability. 

          The main idea is that naming should not be considered as creation of tags, but as a fundamental part of design process, which implies integral and consistent vocabulary to be used. We discuss naming process and naming formalism from these perspectives and we provide guidelines for practical use.

          The work is based on 15 years of experience in engineering work, coding and development management in high-tech industries.

          Read more
        • Ads
          AdBlock has stolen the banner, but banners are not teeth — they will be back

          More
        • Roslyn API: Why PVS-Studio Was Analyzing the Project So Long

            How many of you have used third-party libraries when writing code? It's a catchy question. Without third-party libraries the development of some products would be delayed for a very, very long time. One would have to reinvent the wheel to solve each problem. When you use third-party libraries you still stumble upon some pitfalls in addition to obvious advantages. Recently PVS-Studio for C# has also faced one of the deficiencies. The analyzer could not finish analyzing a large project for a long time. It was due to the use of the SymbolFinder.FindReferencesAsync method from the Roslyn API in the V3083 diagnostic.

            Read more
          • Have we ever been working by the Waterfall?

              We work using Agile: Scrum, or Kanban, or any other extended project management way. Agile appeared in 2001 as a result of a long discussion between really smart guys. They just formed best practices of management into the shape of short documents - the Agile Manifesto. But what did they want to replace by the Agile way? Most of you may say that they wanted the Waterfall to go to the past. But what would you think if I tell you that the “classical” Waterfall had been a really rare thing even for those days?

              Read more
            • GTK: The First Analyzer Run in Figures

                For some people, the introduction of a static analyzer into a project seems like an insurmountable obstacle. It is widely believed that the amount of analysis results issued after the first run is so large that only two options seem reasonable: do not mess with it at all or refocus all people on fixing warnings. In this article, we will try to dispel this myth by implementing and configuring the analyzer on a GTK project.

                Читать далее
              • Did It Have to Take So Long to Find a Bug?

                  image1.png

                  Have you ever wondered which type of project demonstrates higher code quality – open-source or proprietary? Our blog posts may seem to suggest that bugs tend to concentrate in open-source projects. But that's not quite true. Bugs can be found in any project, no matter the manner of storage. As for the code quality, it tends to be higher in those projects where developers care about and work on it. In this small post, you will learn about a bug that took two years to fix, although it could have been done in just five minutes.
                  Read more →
                • Patroni cluster (with Zookeeper) in a docker swarm on a local machine

                  • Tutorial

                  There probably is no way one who stores some crucial data (and well, in particular, using SQL databases) can possibly dodge from thoughts of building some kind of safe cluster, distant guardian to protect consistency and availability at all times. Even if the main server with your precious database gets knocked out deadly - the show must go on, right? This basically means the database must still be available and data be up-to-date with the one on the failed server.

                  As you might have noticed, there are dozens of ways to go and Patroni is just one of them. There is plenty of articles providing a more or less detailed comparison of the options available, so I assume I'm free to skip the part of luring you into Patroni's side. Let's start off from the point where among others you are already leaning towards Patroni and are willing to try that out in a more or less real-case setup.

                  I am not a DevOps engineer originally so when the need for the high-availability cluster arose and I went on I would catch every single bump on the road. Hope this tutorial will help you out to get the job done with ease! If you don't want any more explanations, jump right in. Otherwise, you might want to read some more notes on the setup I went on with.

                  Read more
                • How to prepare for PMP exam in 60 days

                  Do you think of taking the PMP exam? Awesome! Do you know how to plan your preparation for the test? Here I’m going to share the plan of how to get prepared for the PMP exam in 60 days.

                  PMP exam = your own project


                  To begin with, let’s clarify: you’re ready to work hard and to follow the plan. Otherwise, this journey will take you forever. The key here is to perceive the PMP exam as your personal project and manage it like you're managing projects for your clients. The difference here is that you are your client yourself; and you are the resource to release this project. What is more, you will need not only to plan this project, but to execute the plan yourself too. On one hand, it will add an additional challenge. On the other hand, it will make things even more exciting to get them done.

                  What do you need to launch this project? First of all, the input data. This is actually what you usually need to start a project. I’m talking about the key performance indicators that we consider while planning a project. They are time, scope and budget. Of course, funds are important. As you have decided to take the test and to pass the certification you should be aware of the process: how much the test costs, how much the course costs, and other relevant expenses. Therefore, let’s move directly to the time and scope.

                  Time


                  You have 60 days in order to get prepared for the PMP exam, and that is why you need to define how much time you are able to allocate to get prepared for the tests daily.

                  Yes, daily, because 60 days is quite an intense period. I know that for some people it takes six months or even a year to get prepared for this test. However, the less period of time you have, the more advantages you finally get.

                  Here is the thing, for the PMP there is no shortcut. It is quite a big volume of knowledge that you need to obtain in order to pass this test.
                  Read more →
                • 5 Most Popular IT Outsourcing Software Development Companies in India

                    The global IT outsourcing market generated a revenue of $520.74 billion in 2019 and it is expected to surge at a CAGR of 7.7% during the 2020-2027 period. The immense growth of the market is due to the growing popularity of outsourcing software development companies across the globe. 

                    In fact, in 2018, India dominated the global IT outsourcing market with a 67.0% share and the Indian IT sector generated a revenue of more than $150.0 billion with a CAGR of 10-15.0% per year. 

                    The majority of small businesses, start-ups, and enterprises are inclined towards IT outsourcing companies for managing and handling their business. There are hundreds and thousands of outsourcing software development companies available on the internet but choosing the top-notch IT outsourcing company is a tough call because you might fall into the wrong trap

                    So, for that, I am going to shortlist the top 5 software development outsourcing companies in India that not only add value to your business but also help you to expand your business across the globe. 

                    I am going to prepare a list of parameters that will back the shortlisting of these top 5 IT outsourcing companies in India- 

                    Read More
                    • –1
                    • 1.2k
                    • 2
                  • Static Analysis: baseline VS diff

                    • Translation
                    If you use static analyzers, you will have, sooner or later, to address the task of making their integration into existing projects easier, where fixing all warnings on legacy code is unfeasible.

                    The purpose of this article is not to help with integration but rather to elaborate on the technicalities of the process: the exact implementations of warning suppression mechanisms and pros and cons of each approach.

                    image1.png

                    Read more →
                  • Building a Food Delivery App

                      This is the year that everything changed. Companies, and people around the world have been impacted by COVID19 and the way we live, and work has been altered. Organizations have had to react quickly to these changes and many businesses have had to make drastic changes simply to stay afloat.

                      However, while many businesses were negatively impacted, some areas of the economy have benefited from these changes. One of the areas that has possibly benefited the most is the online delivery industry. This is primarily due to the changes that the governments around the world are mandating of their citizens.


                      Read more →
                    • Featureban Online: The Facilitator Guide

                      • Translation
                      When you want to introduce some new methods or ideas, there is nothing better than hands-on experience. People usually think games and having fun don’t go together with some serious work. But in the Agile world, using games to explore and teach new concepts is common. For teaching Kanban, there are several simulation games widely used in classes. Most popular are Featureban, Flowlab, and getKanban.



                      Read more →
                    • How To Make An App Like Uber… And Exceed User’s Expectations?

                        image
                        When we think about Uber, what immediately comes to our mind is cabs. We assume Uber to be an amazing transportation company. While there is no question that Uber revolutionized transportation, Uber is, in essence, a technology-based disruptor. What Uber did is to make use of the latest technology in breaking what was considered normal at that point in time.

                        Uber did not change the way cabs were driven – it was the same drivers and the same gasoline engines, and electric motors in some cases! However, what Uber did was to change the way the driver connected with a passenger who actually needed transportation.

                        Striking at the root of a process has its own benefits. It helps you diversify your portfolio of services and that too, in a very effective and efficient way. This is precisely what Uber did. They realized that what they have hacked is not transportation but technology. This is what enabled them to create a simple taxi app that started with operations in New York. In 2010, a year after it was introduced in New York, it also started serving San Francisco.

                        Uber came with better quality cars and aptly named it UberX and this service started in 2012. With the growing demand for carpooling and ridesharing, Uber started off with UberPOOL in 2014. Uber made sure it took into consideration the convenience and the competition. In 2014, Uber created Uber Moto which enables users to request motorcycle taxis. To take on the competition by players like Ola in India, they came up with the concept of Uber auto that delivers auto rickshaws to customers at their location.
                        Read more →