Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Julio Di Egidio Newsgroups: comp.lang.c Subject: Re: So You Think You Can Const? Date: Fri, 10 Jan 2025 00:45:44 +0100 Organization: A noiseless patient Spider Lines: 64 Message-ID: References: <20250107130809.661@kylheku.com> <87a5c15ob0.fsf@bsb.me.uk> <87ldvk4wu7.fsf@bsb.me.uk> <875xmn4lmy.fsf@bsb.me.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 10 Jan 2025 00:45:47 +0100 (CET) Injection-Info: dont-email.me; posting-host="c30034bd4aee341f80baff0e07fd8dc5"; logging-data="2544429"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ldAsnTlsGnm1ELp9G7mvpDKpBtRexGKI=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:b5rU1bGTmg+bikm3iizixn6NbJY= In-Reply-To: Content-Language: en-GB Bytes: 3481 On 10/01/2025 00:37, Julio Di Egidio wrote: > On 10/01/2025 00:23, Ben Bacarisse wrote: >> Julio Di Egidio writes: >> >>> On 09/01/2025 02:09, Ben Bacarisse wrote: >>>> Julio Di Egidio writes: >>>> >>>>> static AvlTree_t const *AvlTree_node( >>>>>       void const *pk, AvlTree_t const *pL, AvlTree_t const *pR >>>>> ) { >>>>>       AvlTree_t *pT; >>>>> >>>>>       pT = malloc(sizeof(AvlTree_t)); >>>>> >>>>>       if (!pT) { >>>>>           return NULL; >>>>>       } >>>>> >>>>>       pT->pk = pk; >>>>>       pT->pL = pL; >>>>>       pT->pR = pR; >>>>> >>>>>       return pT; >>>>> } >>>> Just on a side issue, I prefer to make tests like this positive so I'd >>>> write: >>>>    static AvlTree_t const *AvlTree_node( >>>>        void const *pk, AvlTree_t const *pL, AvlTree_t const *pR >>>>    ) { >>>>        AvlTree_t *pT = malloc(*pT); >>>>          if (pT) { >>>>            pT->pk = pk; >>>>            pT->pL = pL; >>>>            pT->pR = pR; >>>>        } >>>>        return pT; >>>>    } >>>> I'm not going to "make a case" for this (though I will if you want!) -- >>>> I just think it helps to see lots of different styles. >>> >>> That is *more* error prone, >> >> I would be happy for you to expand on why you say that. >> >>> all the more so if it's not a 5 liner... > > There is no such thing as expanding 40 years of professional experience > in software engineering and programming and doing it properly since day > one: just think about that code and what I said for what it's worth, in > particular I haven't mentioned 5 liners by chance, things are quite more > complicated not in vitro. > > And please do not hold a grudge about that: it's not me who was trying > to say how to write code... ;) > > HTH, BTW, I hadn't mention it, but have you noticed the second one is misindented? Between me and you, I can tell how long a piece of code will take to break when in production by just looking at it... A lot of fun. :) -Julio