Using consistently auto as function return type
bearophile
bearophileHUGS at lycos.com
Sat Jun 16 04:58:23 PDT 2012
Tommi:
> Do you consider it to be good or bad style of programming to
> use consistently auto as function return type?
In Python programming you don't specify the types of function
arguments and return values, but while this is possible in
Haskell too, it's good practice to write down input and output
types for functions, and let the type inferencer work just inside
functions.
In D I use auto often inside function, unless I want to change a
type or unless I want to be sure a certain variable has a desired
type. But for clarity/readability I prefer to specify
input/output types of D functions, unless they return a complex
range. In this case I sometimes add a static assert to be sure it
yields a range of my desired type:
auto foo(...)
out (result) {
static assert(ForeachType!(typeof(result)) == ushort);
}
body {
...
}
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list