From: wjwinn@kocrsv01.delcoelect.com (Bill Winn)
Subject: Re: State machines and Goto's (was Re: Should internet support software be written in Ada?)
Date: 1995/04/20
Date: 1995-04-20T00:00:00+00:00 [thread overview]
Message-ID: <3n5u2m$72f@kocrsv08.delcoelect.com> (raw)
In-Reply-To: fjm.84.000D0007@ti.com
In article <fjm.84.000D0007@ti.com>, fjm@ti.com communicates...
>And what if the common code is (relatively) large and using a (relatively)
>large number of the variables used by the procedure that it is already in
and
>needs them to have the values which they have at the point where the
>'repeated' code occurs? Presumably you propose writing a function or
>procedure with 15-20 parameters? I don't consider that particularly good
>practice.
>
>
<step on soapbox>
If you need to send 15-20 parameters to a function I would say that your
function is probably not sufficiently narrow in scope. According to most
good software engineering principles that I have seen, a function should do
*1* thing, do it well, and move on (thank you Charles Winchester III).
Therefore, I would first look at the problem and see if the best abstraction
has been choosen. A function with 15-20 paramters has probably not been
properly abstracted.
For the sake of argument let us assume that one has properly abstracted the
problem and found that: (1) 15-20 data are needed for the function; and (2)
it makes no sense to split the function into smaller functions (this is a
stretch, but stick with me). In this case I would suggest that one could
use accessor routines to the needed data, rather than passing all data as
parameters. This would: (1) help support encapsulation of the required
data elements; (2) avoid nasty interfaces; and (3) avoid global data (my CS
degree requires me to say this!).
<step off soapbox>
Bill Winn
Software Engineer - Analysts International Corporation
-------------------------------
wjwinn@kocrsv01.delcoelect.com
My views do not express the views of anyone except my alter-ego.
next prev parent reply other threads:[~1995-04-20 0:00 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
1995-03-17 0:24 Should internet support software be written in Ada? Bill Brooks
1995-03-17 8:47 ` Anthony Shipman
1995-03-19 22:06 ` David Weller
1995-03-23 15:05 ` Theodore Dennison
1995-03-24 10:26 ` Fred J. McCall
1995-03-27 9:50 ` Robb Nebbe
1995-03-27 19:43 ` State machines and Goto's (was Re: Should internet support software be written in Ada?) Robert I. Eachus
1995-03-27 23:14 ` Arthur Evans Jr
1995-03-29 0:00 ` Dan
1995-04-01 0:00 ` Mike White
1995-04-04 0:00 ` Robert Dewar
1995-04-06 0:00 ` Theodore Dennison
1995-04-06 0:00 ` Norman H. Cohen
1995-04-07 0:00 ` Robert Dewar
1995-04-07 0:00 ` Tucker Taft
1995-04-07 0:00 ` Mike White
[not found] ` <3ma7rt$smt@kaiwan009.kaiwan.com>
[not found] ` <dewar.797514490@gnat>
[not found] ` <3meunj$66u@felix.seas.gwu.edu>
1995-04-20 0:00 ` CS teachers who can't code their way outta a paper bag Richard A. O'Keefe
1995-03-27 14:24 ` Should internet support software be written in Ada? Theodore Dennison
1995-03-28 0:00 ` Robert Dewar
1995-03-28 9:32 ` Fred J. McCall
1995-03-29 0:00 ` Theodore Dennison
1995-03-29 0:00 ` Robert I. Eachus
1995-03-31 0:00 ` Theodore Dennison
1995-04-05 0:00 ` Wes Groleau
1995-04-07 0:00 ` State machines and Goto's (was Re: Should internet support software be written in Ada?) Wes Groleau
1995-04-07 0:00 ` Robert Firth
[not found] ` <D6qyv0.6Jv@nntpa.cb.att.com>
1995-04-19 0:00 ` Fergus Henderson
1995-04-19 0:00 ` Fred J. McCall
1995-04-19 0:00 ` George Haddad
1995-04-20 0:00 ` Bill Winn [this message]
1995-04-20 0:00 ` Robert Dewar
1995-04-20 0:00 ` State machines and Goto's (was Re: Sho Brian Hanson
1995-04-20 0:00 ` State machines and Goto's (was Re: Should internet support software be written in Ada?) Mark A Biggar
1995-03-22 23:08 ` Should internet support software be written in Ada? Keith Thompson
[not found] ` <3me1qs$n4a@theopolis.orl.mmc.com>
[not found] ` <3mevmu$8an@felix.seas.gwu.edu>
[not found] ` <3mh75i$8eu@rational.rational.com>
[not found] ` <3mjihr$iqq@felix.seas.gwu.edu>
[not found] ` <3mp20f$80t@kaiwan009.kaiwan.com>
1995-04-20 0:00 ` Academic CS Losers? Phillip Fanous
1995-04-21 0:00 ` Bill Winn
[not found] ` <dewar.798093453@gnat>
1995-04-20 0:00 ` What good is halting prob? Max Hailperin
[not found] ` <dewar.798207931@gnat>
[not found] ` <cppD78ywq.B31@netcom.com>
[not found] ` <dewar.798240702@gnat>
1995-04-19 0:00 ` Problems with proofs Brian Harvey
1995-04-19 0:00 ` Robert Dewar
1995-04-20 0:00 ` Robin Rowe
1995-04-20 0:00 ` Robin Rowe
1995-04-20 0:00 ` Robert Dewar
1995-04-21 0:00 ` Robin Rowe
1995-04-21 0:00 ` Robert Dewar
1995-04-20 0:00 ` Robert Dewar
1995-04-20 0:00 ` Steve Tate
1995-04-20 0:00 ` Apology to Steve Robin Rowe
1995-04-21 0:00 ` Problems with proofs Larry Kahn
[not found] ` <3n1fsv$lgd@butch.lmsc.lockheed.com>
1995-04-20 0:00 ` Robin Rowe
1995-04-20 0:00 ` Garlington KE
[not found] ` <3mrv7h$3mq@larry.rice.edu>
[not found] ` <3msnu4$6am@kaiwan009.kaiwan.com>
[not found] ` <KUBEK.95Apr18213646@insage.gerii.insa-tlse.fr>
[not found] ` <cppD792GC.1uI@netcom.com>
1995-04-20 0:00 ` Teaching OO/C++ Philip Machanick
[not found] ` <cppD75t6F.47M@netcom.com>
[not found] ` <EACHUS.95Apr17172831@spectre.mitre.org>
[not found] ` <cppD77Ex6.E77@netcom.com>
[not found] ` <3mve9b$gaj@news.cais.com>
1995-04-18 0:00 ` What good is halting prob? Jay M Martin
1995-04-19 0:00 ` Steve Tate
1995-04-20 0:00 ` Jay M Martin
1995-04-21 0:00 ` Steve Tate
1995-04-21 0:00 ` Ray Toal
[not found] ` <cppD7880n.32B@netcom.com>
1995-04-19 0:00 ` Randolph Crawford
1995-04-19 0:00 ` Robert Dewar
1995-04-20 0:00 ` Robin Rowe
1995-04-20 0:00 ` Robert Dewar
1995-04-20 0:00 ` Robin Rowe
1995-04-21 0:00 ` Brian Hanson
1995-04-21 0:00 ` sxc
[not found] ` <dewar.798172270@gnat>
[not found] ` <cppD786FM.1u9@netcom.com>
[not found] ` <dewar.798207364@gnat>
[not found] ` <3n0ka7$b57@hermes.unt.edu>
[not found] ` <dewar.798232482@gnat>
1995-04-19 0:00 ` Mark A Biggar
1995-04-19 0:00 ` Robert Dewar
1995-04-19 0:00 ` Steve Tate
[not found] ` <cppD78xMv.49w@netcom.com>
1995-04-19 0:00 ` Robb Nebbe
1995-04-19 0:00 ` Mark A Biggar
1995-04-19 0:00 ` Richard Ladd Kirkham
1995-04-19 0:00 ` Robert Dewar
1995-04-20 0:00 ` Richard Ladd Kirkham
1995-04-20 0:00 ` Robert Dewar
1995-04-21 0:00 ` Mark A Biggar
1995-04-21 0:00 ` Robert I. Eachus
1995-04-21 0:00 ` Robert Dewar
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox