Deutsch   English   Français   Italiano  
<vlpn39$2dkpd$17@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Julio Di Egidio <julio@diegidio.name>
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: <vlpn39$2dkpd$17@dont-email.me>
References: <vljvh3$27msl$1@dont-email.me> <20250107130809.661@kylheku.com>
 <vlm0hf$2dkpd$1@dont-email.me> <87a5c15ob0.fsf@bsb.me.uk>
 <vlm7o4$2dkpd$4@dont-email.me> <vlm8r6$2dkpd$5@dont-email.me>
 <87ldvk4wu7.fsf@bsb.me.uk> <vlnrib$2dkpc$5@dont-email.me>
 <875xmn4lmy.fsf@bsb.me.uk> <vlpmkm$2dkpd$16@dont-email.me>
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: <vlpmkm$2dkpd$16@dont-email.me>
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 <julio@diegidio.name> writes:
>>
>>> On 09/01/2025 02:09, Ben Bacarisse wrote:
>>>> Julio Di Egidio <julio@diegidio.name> 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