[Article Submission] Have Your Efficiency, and Flexibility Too
Lars T. Kyllingstad
public at kyllingen.NOSPAMnet
Tue May 31 01:53:37 PDT 2011
On Tue, 31 May 2011 02:36:58 -0400, Nick Sabalausky wrote:
> Getting in just under the wire here. I seem to have misjudged the scope
> of my topic, it ended up a bit large... Anyway, here's my entry:
>
> http://www.semitwist.com/articles/EfficientAndFlexible/SinglePage/
Nice article. :) Some of the code snippets were a bit on the longish
side, but I can't really say how they could be reduced. The narrative is
a nice touch.
May I make two small suggestions regarding the ex5_meta_deadDuck1.d
snippet? Firstly, I cringe whenever I see is(typeof((){...})) being used
to test whether something compiles or not. I'd much prefer
immutable bool isIGizmo = __traits(compiles,
{
...
});
Granted, __traits() is pretty ugly too, but at least you have the
"compiles" directive making it clear what's going on.
Secondly, you could replace the immutable(void[0]) member with an enum,
which also doesn't take up any space. I find
enum _this_implements_interface_IGizmo_ = true;
a lot more descriptive of its purpose. Then you could also replace the
"auto dummy = T._this_implements..." line with
static assert (T._this_implements_interface_IGizmo_);
which will fail if _this_implements... isn't declared or if it's declared
to be false.
-Lars
More information about the Digitalmars-d
mailing list