RE: Semicolon question / Multiple statements per line

From: CFB Software <"CFB>
Date: Fri, 1 Oct 2004 17:25:04 +0930

----boundary-LibPST-iamunique-2088771559_-_-
Content-type: text/plain

> -----Original Message-----
> From: René A. Krywult [mailto:rene.krywult{([at]})nowhere.xy
> Sent: Friday, 1 October 2004 4:38 PM
> To: CFB Software
> Subject: RE: clear or fill memory? & Semicolon question
>
> Another question: IN the style guide we are told not to write
> a semi-colon, if not necessary.
>
> For example:
>
> IF a = b THEN
> Do1;
> Do2;
> Do3
> END;
>
> I've been thinking about this for a while now, and I think
> this is really questionable for 2 reasons:
>
> 1) Following the KSS-rule (Keep it simple and stupid), it is
> more simple to always write statements the same way, if that
> is possible. It IS possible to write the semicolon after Do3,
> there is no different behavior involved, and if you have to
> think of omitting the semicolon, this affords additional
> (unnecessary) thought when writing code.
>
> 2) If you decide to add a Do4 in the above, right before the
> END, you have to insert a semicolon after the Do3 (which is a
> line that you would not need to touch at all!!) and then
> enter the Do4. So every time you write a new line, you have
> to look if there already is a semicolon (which is bad code
> according to the style guide) or if there is none.
>
> So why is this recommended? I think it is as useless as were
> the excessive BEGINs and ENDs in ancient Pascal.
>

I agree with you but I am not overly concerned about it. I use Gerard
Meunier and Helmut Zinns excellent CPC-Beautifier which sensibly allows
you a choice.

However, from a purely technical viewpoint, the last semicolon is
definitely superfluous. Also, it is much less of an issue if you use
Wirth's coding style - include as many components of a compound
statement as possible on the one line:

IF a = b THEN
  Do1; Do2; Do3
END;

I believe that I got into the habit of writing one statement per line,
out of necessity, when using systems with interactive debuggers.
However, I have recently begun to see some advantages of having multiple
statements per line.

This topic does not seem to be explicitly addressed in the style guide,
and both variants are used in the OmS source code.

Chris Burrows
CFB Software
http://www.cfbsoftware.com/gpcp

 

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

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.


----boundary-LibPST-iamunique-2088771559_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCA+IC0tLS0tT3JpZ2luYWwgTWVz
c2FnZS0tLS0tXHBhcg0KPiBGcm9tOiBSZW5cJ2U5IEEuIEtyeXd1bHQgW21haWx0bzpyZW5lLmty
eXd1bHRAYW9uLmF0XVxwYXINCj4gU2VudDogRnJpZGF5LCAxIE9jdG9iZXIgMjAwNCA0OjM4IFBN
XHBhcg0KPiBUbzogQ0ZCIFNvZnR3YXJlXHBhcg0KPiBTdWJqZWN0OiBSRTogY2xlYXIgb3IgZmls
bCBtZW1vcnk/ICYgU2VtaWNvbG9uIHF1ZXN0aW9uXHBhcg0KPiBccGFyDQo+IEFub3RoZXIgcXVl
c3Rpb246IElOIHRoZSBzdHlsZSBndWlkZSB3ZSBhcmUgdG9sZCBub3QgdG8gd3JpdGVccGFyDQo+
IGEgc2VtaS1jb2xvbiwgaWYgbm90IG5lY2Vzc2FyeS5ccGFyDQo+IFxwYXINCj4gRm9yIGV4YW1w
bGU6XHBhcg0KPiBccGFyDQo+IElGIGEgPSBiIFRIRU5ccGFyDQo+ICAgICBEbzE7XHBhcg0KPiAg
ICAgRG8yO1xwYXINCj4gICAgIERvM1xwYXINCj4gRU5EO1xwYXINCj4gXHBhcg0KPiBJJ3ZlIGJl
ZW4gdGhpbmtpbmcgYWJvdXQgdGhpcyBmb3IgYSB3aGlsZSBub3csIGFuZCBJIHRoaW5rXHBhcg0K
PiB0aGlzIGlzIHJlYWxseSBxdWVzdGlvbmFibGUgZm9yIDIgcmVhc29uczpccGFyDQo+IFxwYXIN
Cj4gMSkgRm9sbG93aW5nIHRoZSBLU1MtcnVsZSAoS2VlcCBpdCBzaW1wbGUgYW5kIHN0dXBpZCks
IGl0IGlzXHBhcg0KPiBtb3JlIHNpbXBsZSB0byBhbHdheXMgd3JpdGUgc3RhdGVtZW50cyB0aGUg
c2FtZSB3YXksIGlmIHRoYXQgXHBhcg0KPiBpcyBwb3NzaWJsZS4gSXQgSVMgcG9zc2libGUgdG8g
d3JpdGUgdGhlIHNlbWljb2xvbiBhZnRlciBEbzMsIFxwYXINCj4gdGhlcmUgaXMgbm8gZGlmZmVy
ZW50IGJlaGF2aW9yIGludm9sdmVkLCBhbmQgaWYgeW91IGhhdmUgdG8gXHBhcg0KPiB0aGluayBv
ZiBvbWl0dGluZyB0aGUgc2VtaWNvbG9uLCB0aGlzIGFmZm9yZHMgYWRkaXRpb25hbCBccGFyDQo+
ICh1bm5lY2Vzc2FyeSkgdGhvdWdodCB3aGVuIHdyaXRpbmcgY29kZS5ccGFyDQo+IFxwYXINCj4g
MikgSWYgeW91IGRlY2lkZSB0byBhZGQgYSBEbzQgaW4gdGhlIGFib3ZlLCByaWdodCBiZWZvcmUg
dGhlXHBhcg0KPiBFTkQsIHlvdSBoYXZlIHRvIGluc2VydCBhIHNlbWljb2xvbiBhZnRlciB0aGUg
RG8zICh3aGljaCBpcyBhIFxwYXINCj4gbGluZSB0aGF0IHlvdSB3b3VsZCBub3QgbmVlZCB0byB0
b3VjaCBhdCBhbGwhISkgYW5kIHRoZW4gXHBhcg0KPiBlbnRlciB0aGUgRG80LiBTbyBldmVyeSB0
aW1lIHlvdSB3cml0ZSBhIG5ldyBsaW5lLCB5b3UgaGF2ZSBccGFyDQo+IHRvIGxvb2sgaWYgdGhl
cmUgYWxyZWFkeSBpcyBhIHNlbWljb2xvbiAod2hpY2ggaXMgYmFkIGNvZGUgXHBhcg0KPiBhY2Nv
cmRpbmcgdG8gdGhlIHN0eWxlIGd1aWRlKSBvciBpZiB0aGVyZSBpcyBub25lLiBccGFyDQo+IFxw
YXINCj4gU28gd2h5IGlzIHRoaXMgcmVjb21tZW5kZWQ/IEkgdGhpbmsgaXQgaXMgYXMgdXNlbGVz
cyBhcyB3ZXJlXHBhcg0KPiB0aGUgZXhjZXNzaXZlIEJFR0lOcyBhbmQgRU5EcyBpbiBhbmNpZW50
IFBhc2NhbC4gXHBhcg0KPiBccGFyDQpccGFyDQpJIGFncmVlIHdpdGggeW91IGJ1dCBJIGFtIG5v
dCBvdmVybHkgY29uY2VybmVkIGFib3V0IGl0LiBJIHVzZSBHZXJhcmRccGFyDQpNZXVuaWVyIGFu
ZCBIZWxtdXQgWmlubnMgZXhjZWxsZW50IENQQy1CZWF1dGlmaWVyIHdoaWNoIHNlbnNpYmx5IGFs
bG93c1xwYXINCnlvdSBhIGNob2ljZS5ccGFyDQpccGFyDQpIb3dldmVyLCBmcm9tIGEgcHVyZWx5
IHRlY2huaWNhbCB2aWV3cG9pbnQsIHRoZSBsYXN0IHNlbWljb2xvbiBpc1xwYXINCmRlZmluaXRl
bHkgc3VwZXJmbHVvdXMuIEFsc28sIGl0IGlzIG11Y2ggbGVzcyBvZiBhbiBpc3N1ZSBpZiB5b3Ug
dXNlXHBhcg0KV2lydGgncyBjb2Rpbmcgc3R5bGUgLSBpbmNsdWRlIGFzIG1hbnkgY29tcG9uZW50
cyBvZiBhIGNvbXBvdW5kXHBhcg0Kc3RhdGVtZW50IGFzIHBvc3NpYmxlIG9uIHRoZSBvbmUgbGlu
ZTpccGFyDQpccGFyDQpJRiBhID0gYiBUSEVOXHBhcg0KICBEbzE7IERvMjsgRG8zXHBhcg0KRU5E
O1xwYXINClxwYXINCkkgYmVsaWV2ZSB0aGF0IEkgZ290IGludG8gdGhlIGhhYml0IG9mIHdyaXRp
bmcgb25lIHN0YXRlbWVudCBwZXIgbGluZSxccGFyDQpvdXQgb2YgbmVjZXNzaXR5LCB3aGVuIHVz
aW5nIHN5c3RlbXMgd2l0aCBpbnRlcmFjdGl2ZSBkZWJ1Z2dlcnMuXHBhcg0KSG93ZXZlciwgSSBo
YXZlIHJlY2VudGx5IGJlZ3VuIHRvIHNlZSBzb21lIGFkdmFudGFnZXMgb2YgaGF2aW5nIG11bHRp
cGxlXHBhcg0Kc3RhdGVtZW50cyBwZXIgbGluZS4gXHBhcg0KXHBhcg0KVGhpcyB0b3BpYyBkb2Vz
IG5vdCBzZWVtIHRvIGJlIGV4cGxpY2l0bHkgYWRkcmVzc2VkIGluIHRoZSBzdHlsZSBndWlkZSxc
cGFyDQphbmQgYm90aCB2YXJpYW50cyBhcmUgdXNlZCBpbiB0aGUgT21TIHNvdXJjZSBjb2RlLlxw
YXINClxwYXINCkNocmlzIEJ1cnJvd3NccGFyDQpDRkIgU29mdHdhcmVccGFyDQpodHRwOi8vd3d3
LmNmYnNvZnR3YXJlLmNvbS9ncGNwXHBhcg0KXHBhcg0KIFxwYXINClxwYXINCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KXHBhcg0KVG8gdW5zdWJzY3Jp
YmUgZnJvbSB0aGlzIG1haWxpbmcgbGlzdCwgc2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUg
d29yZCAidW5zdWJzY3JpYmUiIHRvOlxwYXINCiAgIGJsYWNrYm94LXJlcXVlc3RAb2Jlcm9uLmNo
XHBhcg0KXHBhcg0KVG8gZ2V0IGEgbGlzdCBvZiB2YWxpZCBlLW1haWwgY29tbWFuZHMgYW5kIGlu
c3RydWN0aW9ucyBvbiB0aGVpciB1c2FnZSwgc2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUg
d29yZCAiaGVscCIgdG8gdGhlIGFib3ZlIGFkZHJlc3MuXHBhcg0KXHBhcg0KU2VuZCBhbnkgcHJv
YmxlbSByZXBvcnRzIG9yIHF1ZXN0aW9ucyByZWxhdGVkIHRvIHRoaXMgZW1haWwgbGlzdCB0byB0
aGUgbGlzdCBvd25lciBhdFxwYXINCiAgIG93bmVyLWJsYWNrYm94QG9iZXJvbi5jaFxwYXINClxw
YXINCkN1cnJlbnQgcG9zdGluZyBwb2xpY3k6XHBhcg0KXHBhcg0KYSkgVG8gcG9zdCB5b3Ugc2hv
dWxkIHVzZSB0aGUgc2FtZSBhZGRyZXNzIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2NyaWJlZCB0byB0
aGUgbWFpbGluZyBsaXN0LiBUaGF0IHdheSwgdGhlIGxpc3Qgc2VydmVyIHdpbGwgcmVjb2duaXpl
IHlvdSBhcyBzdWJzY3JpYmVyIGFuZCBmb3J3YXJkIHlvdXIgcG9zdGluZyBpbW1lZGlhdGVseSwg
d2l0aG91dCBjcmVhdGluZyBhbnkgb3ZlcmhlYWQuXHBhcg0KXHBhcg0KYikgSWYsIGZvciBzb21l
IHJlYXNvbiwgeW91IGNhbm5vdCBwb3N0IGZyb20gdGhlIGFkZHJlc3MsIGJ5IHdoaWNoIHlvdSBh
cmUgc3Vic2NyaWJlZCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgbW9kZXJhdGVkIHRvIGF2b2lkIHNw
YW0uIFBsZWFzZSB1bmRlcnN0YW5kIHRoYXQgbW9kZXJhdGlvbiB3aWxsIG9mdGVuIGNhdXNlIHNv
bWUgZGVsYXksIGluIHBhcnRpY3VsYXIgb3ZlciB3ZWVrZW5kcyBvciBob2x5ZGF5fX0AIEkndmUg



----boundary-LibPST-iamunique-2088771559_-_---
Received on Fri Oct 01 2004 - 09:55:04 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:35 UTC