syque.com

The Psychology of Quality and More

| Menu | Books | Share | Search | Settings |

C Style: Standards and Guidelines (contents)

CHAPTER 6 : Layout

PART 3 : LAYOUT

CHAPTER 6 : Code Layout
6.1 Basic principles of code layout
6.2 Use of Spaces
6.3 Use of blank lines
6.4 Use vertical alignment
6.5 Indentation level
6.6 Line wrapping
6.7 Braces
6.8 Use of parentheses
6.9 Nested single statement
6.10 Empty statements
6.11 'else..if'
6.12 'switch' statements
6.13 'do..while'
6.14 Labels
6.15 Data declarations
6.16 Function declaration
6.17 Preprocessor commands
6.18 Summary

<--Prev page | Next page -->

 

6.13  'do..while'

Consider the confusion that may arise from using the do..while construct in the following form:

 

do
{
    ReadJoyStick( JoyStick );
    MovePiece( JoyStick.X, JoyStick.Y );
}

 

<<< page break or top of screen here >>>

 

while ( --GameSteps > 0 );

 

The while statement looks like it has an empty main block, and is a good candidate for confusion. Even without a page break, the confusion can still happen, particularly if the preceding block is more than a few lines long, or if code after the while looks like it is a part of a while loop. This can be rectified by including it on the same line as the closing brace, possibly with a blank line before it, to make the while stand out more:

 

do
{
    ReadJoyStick( JoyStick );
    MovePiece( JoyStick.X, JoyStick.Y );

} while ( --GameSteps > 0 );

------------------------------------------

Note that this is also an argument for using braces in all do loops.

 

<--Prev page | Next page -->

 

Site Menu

| Home | Top | Settings |

Quality: | Quality Toolbook | Tools of the Trade | Improvement Encyclopedia | Quality Articles | Being Creative | Being Persuasive |

And: | C Style (Book) | Stories | Articles | Bookstore | My Photos | About | Contact |

Settings: | Computer layout | Mobile layout | Small font | Medium font | Large font | Translate |

 

You can buy books here

More Kindle books:

And the big
paperback book


Look inside

 

Please help and share:

 

| Home | Top | Menu |

© Changing Works 2002-
Massive Content -- Maximum Speed