Another idiom I wish were gone from phobos/druntime

Meta via Digitalmars-d digitalmars-d at puremagic.com
Wed Feb 4 22:26:16 PST 2015


On Thursday, 5 February 2015 at 06:15:39 UTC, H. S. Teoh wrote:
> On Thu, Feb 05, 2015 at 05:42:57AM +0000, Meta via 
> Digitalmars-d wrote:
> [...]
>> I don't know about others (besides Beatophile, who religiously 
>> adheres
>> to writing contacts), but putting contracts on functions is a 
>> hassle.
>> I never do it unless I'm feeling particularly full of divine 
>> fervor.
>> It's a lot like making all variables that don't need to be 
>> changed
>> immutable (another thing which only Bearophile seems to do) or
>> properly documenting code. Strong optimization guarantees from
>> contracts would go a long way in convincing people to actually 
>> write
>> them (although I guess that's not what you want; Perhaps you 
>> changed
>> your mind). It's a chicken and egg problem.
>
> I do write contracts in my own code, though not as much as I 
> would've
> because (1) the syntax is far too verbose, (2) dmd makes a mess 
> of DbC
> by putting in-contracts in the callee rather than the caller, 
> causing
> severe limitations in real-life usage, and (3) so far 
> optimizations
> based on contracts (esp. via assert/assume, that Walter was so 
> insistent
> on) haven't materialized yet.
>
> But then again, I do like to document my code a lot too, so 
> maybe I'm
> just One Of Those People. *shrug* (I'm not as extreme as 
> bearophile in
> insisting on putting immutable everywhere, though. Not yet, 
> anyway. :-P)
>
>
> T

I've found that the more years of experience I have under my 
belt, the less documentation I wrote. When I was starting out I 
was very diligent in doing everything the Correct Way so as to 
cultivate good habits. I'd find my regression over the years more 
alarming if I cared enough.


More information about the Digitalmars-d mailing list