Saying a code is horrible, is often subjective. If you work on your own 
project, choose the style that fits your mind. If you are patching a program, 
try to be consistent with the existing code.

You can also have a look at the “style” manpage but keep in mind that it is for 
the kernel.

Ronan

> Le 29 juin 2021 à 15:00, Reuben ua Bríġ <u5644...@anu.edu.au> a écrit :
> 
> gday folks.
> 
> first i will say i am do not consider myself well versed in machine
> languages.  i have use plain tex for a while, and i use the odd bit of
> sh, sed, etc.  i recently read K&R because sh disgusts me.  i have seen
> a bit of some programming languages, but nothing very recent, and i
> cant say C or most any other language i have seen seem very sensible.
> i am have an account on a timesharing system in the CS school, but
> otherwise have nothing to do with them or any computer scholars.
> 
> i have seen much comment from openbsd developers about bad C style.
> i would be thankful to see examples of `good' style, in case i wish to
> write some C for OpenBSD.  (right now i am interested in fixing some
> bugs in vi.)
> 
> also are there places for discussing such things, suitable for a newbie?
> 
> cheers,
> reuben.
> 
> p.s.  one particular question i have is on the mandoc/main.c:
> 
> i found the following:
> 
>        if (strcmp(progname, BINM_MAN) == 0)
>                search.argmode = ARG_NAME;
>        else if (strcmp(progname, BINM_APROPOS) == 0)
>                search.argmode = ARG_EXPR;
>        else if (strcmp(progname, BINM_WHATIS) == 0)
>                search.argmode = ARG_WORD;
>        else if (strncmp(progname, "help", 4) == 0)
>                search.argmode = ARG_NAME;
>        else
>                search.argmode = ARG_FILE;
> 
> much more readable as:
> 
>        search.argmode =
>                strcmp(progname, BINM_MAN) == 0 ?       ARG_NAME :
>                strcmp(progname, BINM_APROPOS) == 0 ?   ARG_EXPR :
>                strcmp(progname, BINM_WHATIS) == 0 ?    ARG_WORD :
>                strncmp(progname, "help", 4) == 0 ?     ARG_NAME :
>                ARG_FILE;
> 
> a style i came up with in imitation of some disgusting haskell code.
> any comments?
> 
> ---
> ANSI 'K'&'R' is really just 'B' in disguise.
> 

Reply via email to