Re: Fixing a sample from K&R book using cake static analyser

Liste des GroupesRevenir à l c 
Sujet : Re: Fixing a sample from K&R book using cake static analyser
De : 643-408-1753 (at) *nospam* kylheku.com (Kaz Kylheku)
Groupes : comp.lang.c
Date : 25. Jun 2024, 03:21:22
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20240624180824.534@kylheku.com>
References : 1 2 3 4 5 6 7 8 9
User-Agent : slrn/pre1.0.4-9 (Linux)
On 2024-06-24, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
On Mon, 24 Jun 2024 11:53:51 +0100, Ben Bacarisse wrote:
>
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
 
Too many different paths in the control flow, though. I think it’s a
good idea to minimize that.
 
Your non-solution has more.
>
My solution only has one major flow of control: in the top and out the
bottom.

This is false. Every branch in the code creates a separate control
flow path. For instance, this has 8 possible control flow paths:

  if (this)
    that;
 
  if (other)
    foo;
  else
    bar;

  if (condition)
    xyzzy;

One entry at the top and one exit at the bottom does not imply
one control path.

Everything else is error checks, and it is quite obvious where
they all go--through the same cleanup path.

Your solution intertwines both cases together and jumbles the error
handling between other logic, requiring the reader to untangle all
that.

Ben's and mine solution (very similar) separates the two major
cases: name exists vs. doesn't.   The former is so short,
it has no reason to share code with the other.

The happy case is consolidated together at the top of each
case: the code (1) tries to acquire all the needed resources before
doing anything, without doing error checks. Then (2) there is a single
if which checks that we have all the resources. If so, then there
is a block which configures the registration, no longer requiring
error checks.  If the resource allocation failed, all the resources
are freed in one block.

The function is divided into blocks that have a single, clear
responsibility.

(If a coding convention were imposed that there must be a single exit
point from a function, the code could be easily adjusted to that without
losing these attributes.)

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Date Sujet#  Auteur
21 Jun 24 * Fixing a sample from K&R book using cake static analyser83Thiago Adams
22 Jun 24 +* Re: Fixing a sample from K&R book using cake static analyser79Lawrence D'Oliveiro
22 Jun 24 i+- Re: Fixing a sample from K&R book using cake static analyser1Tim Rentsch
23 Jun 24 i+* Re: Fixing a sample from K&R book using cake static analyser13Anton Shepelev
23 Jun 24 ii+* Re: Fixing a sample from K&R book using cake static analyser5Lawrence D'Oliveiro
23 Jun 24 iii+* Re: Fixing a sample from K&R book using cake static analyser2bart
24 Jun 24 iiii`- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro
24 Jun 24 iii`* Re: Fixing a sample from K&R book using cake static analyser2Anton Shepelev
24 Jun 24 iii `- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro
23 Jun 24 ii`* Re: Fixing a sample from K&R book using cake static analyser7Ben Bacarisse
24 Jun 24 ii `* Re: Fixing a sample from K&R book using cake static analyser6Anton Shepelev
24 Jun 24 ii  `* Re: Fixing a sample from K&R book using cake static analyser5Ben Bacarisse
24 Jun 24 ii   +- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro
24 Jun 24 ii   +* Re: Fixing a sample from K&R book using cake static analyser2Janis Papanagnou
24 Jun 24 ii   i`- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro
24 Jun 24 ii   `- Re: Fixing a sample from K&R book using cake static analyser1Tim Rentsch
23 Jun 24 i`* Re: Fixing a sample from K&R book using cake static analyser64Kaz Kylheku
23 Jun 24 i +* Re: Fixing a sample from K&R book using cake static analyser57Ben Bacarisse
24 Jun 24 i i+* Re: Fixing a sample from K&R book using cake static analyser55Anton Shepelev
24 Jun 24 i ii+* Re: Fixing a sample from K&R book using cake static analyser3Lawrence D'Oliveiro
24 Jun 24 i iii`* Re: Fixing a sample from K&R book using cake static analyser2Anton Shepelev
24 Jun 24 i iii `- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro
24 Jun 24 i ii`* Re: Fixing a sample from K&R book using cake static analyser51Ben Bacarisse
24 Jun 24 i ii +* Re: Fixing a sample from K&R book using cake static analyser45Lawrence D'Oliveiro
24 Jun 24 i ii i+* Re: Fixing a sample from K&R book using cake static analyser4David Brown
25 Jun 24 i ii ii`* Re: Fixing a sample from K&R book using cake static analyser3Lawrence D'Oliveiro
25 Jun 24 i ii ii +- Re: Fixing a sample from K&R book using cake static analyser1David Brown
25 Jun 24 i ii ii `- Re: Fixing a sample from K&R book using cake static analyser1Kaz Kylheku
24 Jun 24 i ii i`* Re: Fixing a sample from K&R book using cake static analyser40Ben Bacarisse
25 Jun 24 i ii i `* Re: Fixing a sample from K&R book using cake static analyser39Lawrence D'Oliveiro
25 Jun 24 i ii i  +- Re: Fixing a sample from K&R book using cake static analyser1Ben Bacarisse
25 Jun 24 i ii i  `* Re: Fixing a sample from K&R book using cake static analyser37Kaz Kylheku
25 Jun 24 i ii i   `* Re: Fixing a sample from K&R book using cake static analyser36Ben Bacarisse
26 Jun 24 i ii i    `* Re: Fixing a sample from K&R book using cake static analyser35Chris M. Thomasson
26 Jun 24 i ii i     `* Re: Fixing a sample from K&R book using cake static analyser34Kaz Kylheku
26 Jun 24 i ii i      `* Re: Fixing a sample from K&R book using cake static analyser33Janis Papanagnou
26 Jun 24 i ii i       `* Re: Fixing a sample from K&R book using cake static analyser32Kaz Kylheku
26 Jun 24 i ii i        +- Re: Fixing a sample from K&R book using cake static analyser1DFS
26 Jun 24 i ii i        +* [OT] Re: Fixing a sample from K&R book using cake static analyser26Janis Papanagnou
26 Jun 24 i ii i        i+* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser4Michael S
26 Jun 24 i ii i        ii`* Re: [OT] Reinheitsgebot and Beer without C3Janis Papanagnou
26 Jun 24 i ii i        ii `* Re: [OT] Reinheitsgebot and Beer without C2Michael S
26 Jun 24 i ii i        ii  `- Re: [OT] Reinheitsgebot and Beer without C1Janis Papanagnou
26 Jun 24 i ii i        i+- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Michael S
26 Jun 24 i ii i        i+* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser11Janis Papanagnou
26 Jun 24 i ii i        ii+* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser9Chris M. Thomasson
26 Jun 24 i ii i        iii`* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser8Janis Papanagnou
27 Jun 24 i ii i        iii +* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser2Richard Harnden
27 Jun 24 i ii i        iii i`- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Janis Papanagnou
29 Jun 24 i ii i        iii `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser5Chris M. Thomasson
29 Jun 24 i ii i        iii  `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser4Janis Papanagnou
29 Jun 24 i ii i        iii   +* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser2Kenny McCormack
29 Jun 24 i ii i        iii   i`- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Chris M. Thomasson
29 Jun 24 i ii i        iii   `- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Michael S
27 Jun 24 i ii i        ii`- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Janis Papanagnou
28 Jun 24 i ii i        i`* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser9Phil Carmody
28 Jun 24 i ii i        i `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser8Janis Papanagnou
28 Jun 24 i ii i        i  `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser7Michael S
28 Jun 24 i ii i        i   `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser6Janis Papanagnou
28 Jun 24 i ii i        i    +* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser3Tim Rentsch
28 Jun 24 i ii i        i    i`* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser2Janis Papanagnou
30 Jun 24 i ii i        i    i `- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Tim Rentsch
29 Jun 24 i ii i        i    `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser2Chris M. Thomasson
29 Jun 24 i ii i        i     `- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Chris M. Thomasson
26 Jun 24 i ii i        `* Re: Fixing a sample from K&R book using cake static analyser4David Brown
27 Jun 24 i ii i         +- Re: Fixing a sample from K&R book using cake static analyser1Richard Harnden
27 Jun 24 i ii i         `* Re: Fixing a sample from K&R book using cake static analyser2Lawrence D'Oliveiro
27 Jun 24 i ii i          `- Re: Fixing a sample from K&R book using cake static analyser1Janis Papanagnou
24 Jun 24 i ii +- Re: Fixing a sample from K&R book using cake static analyser1Tim Rentsch
25 Jun 24 i ii `* Re: Fixing a sample from K&R book using cake static analyser4Phil Carmody
25 Jun 24 i ii  +- Re: Fixing a sample from K&R book using cake static analyser1Ben Bacarisse
26 Jun 24 i ii  `* Re: Fixing a sample from K&R book using cake static analyser2Lawrence D'Oliveiro
30 Jun 24 i ii   `- Re: Fixing a sample from K&R book using cake static analyser1Phil Carmody
24 Jun 24 i i`- Re: Fixing a sample from K&R book using cake static analyser1Kaz Kylheku
24 Jun 24 i `* Re: Fixing a sample from K&R book using cake static analyser6Anton Shepelev
24 Jun 24 i  `* Re: Fixing a sample from K&R book using cake static analyser5Kaz Kylheku
24 Jun 24 i   +* Re: Fixing a sample from K&R book using cake static analyser2Kaz Kylheku
24 Jun 24 i   i`- Re: Fixing a sample from K&R book using cake static analyser1Anton Shepelev
24 Jun 24 i   `* Re: Fixing a sample from K&R book using cake static analyser2Janis Papanagnou
24 Jun 24 i    `- Re: Fixing a sample from K&R book using cake static analyser1Kaz Kylheku
22 Jun 24 +- Re: Fixing a sample from K&R book using cake static analyser1Thiago Adams
29 Jun 24 `* Re: Fixing a sample from K&R book using cake static analyser2Lawrence D'Oliveiro
29 Jun 24  `- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal