A code review is a serious business; an essential part of development. Whoever signs off on a code review agrees, essentially, that they would be able to support it in the future, should the original author of the code be unavailable to do it. Review code with the energy you'd use if you owned the code. This article runs through the principles of reviewing C# code.
Whether you participate in a code review process today or you are looking at experimenting with it in your team, this article hopes to guide you to a better experience and understanding of the art of code review.
The most ignored attribute of development is reviews. Many Scrum teams compromise on review tasks in order to complete their other tasks in a particular sprint. Though they plan separate tasks for reviews, they frequently ignore them. In reviews themselves, the most ignored is the code review. The shorter the sprint, the less the importance and time allocated to code reviews.
Static analysis tools are gaining popularity for safeguarding against the most common causes of errors in software. The main focus of these tools is on automatic bug-finding—the first stage in a two-phase process where the tool finds bugs and the human then corrects them. This article explains that such a goal is too narrow for critical software assurance (SwA). Instead, static analysis tools should adopt a broader perspective: computing properties of software.
To conduct software reviews and inspections smoothly, you need a set of tools that includes techniques for reading phases, roles, and software tools. Most people think review and inspection must be manual, with little room for tools and automation. However, there are software tools to make reviews and inspections more efficient, structured, and at least semi-automated. This article introduces a toolset for code reviews that includes the techniques and software tools that you need.
Static analyzers can report possible problems in code and help reinforce the good practices of developers. This article contrasts the strengths of static analyzers with testing and discusses the current state-of-the-art.
There are many pitfalls that cause software inspections to fail. This article addresses management’s critical role in preventing these pitfalls to attain successful inspections. In addition to meeting their responsibilities, management needs a comprehensive computerized set of tools to support their efforts. By carrying out their responsibilities—supported by inspection-specific tools—management will be better equipped to implement sustained successful project inspections that consistently reap the benefits of lower project cost and high product quality.
Refactoring is a well-accepted practice for improving existing code. Yet, how do you find the code that should be refactored, in a consistent and repeatable manner? This installment of Automation for the people explains how to use static analysis tools to identify code smells to refactor, with examples showing how to improve odiferous code