Reply to Re: Mangled Code Mess

Your name:

Reply:


Posted by Tim Streater on 12/15/06 17:40

In article <NtqdneCPLbONNB_YnZ2dnUVZ_smonZ2d@comcast.com>,
Jerry Stuckle <jstucklex@attglobal.net> wrote:

> Tim Streater wrote:

[...]

> > It's just the vogue at the moment. Those of us who have developed a
> > coding style over 40 years to assist maintainers who might be following,
> > think different. Cool is not important - maintainability is (and
> > donkeymentation, of course).
> >
>
> In your opinion, at least. Many others, including us who have been
> programming 39 years (started with Fortran II on an IBM 1401) think
> differently.
>
> Some old-time programmers get so ingrained in one method it's hard for
> them to see a different way of doing things might be better. Others
> find new ways to be much better - including easier to maintain.

I think it's just a vogue. Like when Pascal was the vogue and it was
considered "good" to have only one exit from a procedure. As
excruciating contortions were needed in real-world code to achieve this,
I carried right on using the return statement and ignored the vogue.

> > Personally I dislike something like:
> >
> > if (send_packet(params)) {
> > do something
> > }
> >
> > not just because of the braces but also because an "if" is supposed to
> > perform a test - not have as a side effect as it might be sending a
> > packet over the wire.
>
> I love it, and use it all the time. First started doing in in C over 20
> years ago. It's one of the great features of languages like C, C++,
> Java and PHP, and allows for a lot of flexibility.
>
> In your case the if statement is doing a test - but it's just a test to
> see if an action (a dynamic event) completed successfully, instead of
> the static value of a variable.
>
> Let's take it one step further:
>
> result = send_packet(params);
> while (result) {
> do something
> result = send_packet(params);
> }
>
> Or, just
>
> while (send_packet(params)) {
> do something
> }
>
> After all, all a while loop is is a test which is executed repeatedly
> until the condition fails.

If you're doing a test, do a test. If you're sending a packet, send a
packet. These are distinct actions that should be separated.

That's my style, at any rate.

-- tim

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация