Another idiom I wish were gone from phobos/druntime

H. S. Teoh via Digitalmars-d digitalmars-d at puremagic.com
Wed Feb 4 22:13:18 PST 2015


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

-- 
Bare foot: (n.) A device for locating thumb tacks on the floor.


More information about the Digitalmars-d mailing list