Defining Programming Standards   
for Professional Programmers 
  

         

Home

Contents

1: Standards

2: Psychological Factors

3: General Principles

4: Commenting

5: Naming

6: Code Layout

7: File Layout

8: Language Usage

9: Data Usage

10: Programming Usage

11: Implementing Standards

A: Example Standard

B: References

C: Glossary

Syque

About

Share this page:

Google
C Style
syque.com
Web

 

 

Books and
more at:

USA:

In association with amazon.com

UK:

In Association with Amazon.co.uk

Canada:

In Association with amazon.ca

 

 

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 -->

 

 

  © Syque 1995-2010

Massive Content -- Maximum Speed