Channels ▼
RSS

Tools

Code Quality Improvement

Source Code Accompanies This Article. Download It Now.


JunHo and YoonKyu are engineers at Samsung Electronics' Software Labs. They can be contacted at junho.yoon@samsung.com and yoonkyu.jang@samsung.com, respectively.


To overcome critical software development challenges and reduce development costs, the software engineering field has developed practices such as requirements engineering, analysis and design technologies, process engineering, and the like. Many of these practices apply to the implementation phase of development; for example, coding standards, refactoring, inspection, and static analysis. Among them, coding standards are the fundamental way to improve code readability, help individual developers produce consistent code, and prevent error-prone coding styles.

Samsung Electronics has focused on improving code quality by defining and enforcing internal coding standards. We—the QA team—used a coding standards conformance checker for this purpose, but we did not regularly apply this initial checking tool to our software development. Because of tool weaknesses, we used it only sporadically during final audits. As a result, we saw only minimal improvement to code quality.

More recently, we evaluated Parasoft's C++test and applied it throughout an on-going project ("Mobile"). In this article, we describe our experiences and share what we learned. Here, a "coding standards item" is a guideline described in the company's coding standards or conformance documents; a "coding standards rule" (or just "rule") is a codified programming rule in an automated coding standards tool.

Samsung Electronics is a major consumer electronics company. Although Samsung started as a hardware-centric vendor, software is quickly becoming a major concern for us, as it is for most other consumer electronics vendors. The Mobile project is a Samsung Electronics C/C++ development project designed to develop a reusable and extensible object-oriented software framework mainly targeting mobile devices. Our QA team is an independent group responsible for testing software produced by Samsung Electronics. We invest considerable time evaluating automated tools in an effort to minimize routine work.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video