[comp.software-eng] Pseudo-code/Design Languages - Request For Opinions on role and value

paulb@mlacus.oz (Paul Bandler) (03/08/91)

In our organisation there has been some debate over the use of pseudo-code
as design tool for C software components.  I would appreciate it if people
could comment on them based upon their own experience.

The issues seem to boil down to:-

1.	Should it be used and at what stage should it be produced?, 

If it is to be used on a project should it be insisted upon for all modules
or are some exempt perhaps because the are trivial?

Do perhaps some design approaches not warrant, or at have less need for
pseudo-code?  Do, say object oriented approaches have less need for pseudo-
code because they place less emphasis on control flow and more on data, 
interface designs and relationships between things (classes and class clusters)?

2.	If it is used how precise a language should be used?  

The main reservations seem so stem from the fact that often pseudo-code
can end up mapping almost 1-to-1 with the code and is therefore an un-necessary 
duplication. (Assuming one has, as we do, well defined and descriptive naming 
conventions, and insist on straight forward coding constructs).

3.	Where should the pseudo-code physically reside?

The main issue here is should it be closely interleaved with the code where
at coding time each pseudo-code line is expanded to multiple lines of code 
beneath a single line of pseudo-code or should it reside on its own at the
top of the module (where it, arguably would get forgotten about and become
inconsistent with the code).

4.	Do people have good examples of pseudo-code usage they could share and
/or any accounts of where is was particularly helpful or a hinderance during 
maintenance.

5.	Are there any good tools (P/D or commercial) which assist in the
production and/or mainainence of pseudo-code?

Please reply by mail as news takes a long time to trickle into this site.
I will post a summary if there is sufficient interest.

Thanks in anticipation,

Regards,

Paul Bandler
Australian Centre for Unisys Software