Rest
guest
ano at trash-mail.com
Wed Dec 4 02:35:15 PST 2013
On Wednesday, 4 December 2013 at 09:09:56 UTC, qznc wrote:
> On Sunday, 1 December 2013 at 18:37:25 UTC, guest wrote:
>> just wanted to know if something in my code is really bad or
>> could be solved in more elegant way. Basicly things which
>> people with more experience in D see on their first view of my
>> code.
>
> The line splitting in HttpRequest can be simplified with Phobos
> functions. Look into std.array.split.
>
> Not D specific, but you are nesting pretty deeply in my eyes. I
> would for example rewrite the run function:
>
> foreach(...) {
> if (foo) {
> bla
> }
> }
>
> into
>
> foreach(...) {
> if (!foo) continue;
> bla
> }
>
> In paramAssignment you could use scope(failure) instead of
> try-catch.
>
> Design-wise your approach cannot be extended with new HTTP
> methods. For example, Subversion uses PROPFIND and REPORT.
>
> You are using classes extensively, but I doubt that OO is the
> best paradigm here. It looks rather functional to me. Each
> request is mapped to a function call. Why grouping this into
> classes?
>
> For my taste there is too much magic (string mixins), but it
> seems necessary for this annotation approach.
thx for your advice!
I changed the splitting and overviewd my nesting and the scope
made
paramAssignment much cleaner (i really like that:) ).
About the design i'm not sure if a functional approche would be
easier cause
I need to store all my annotated functions. The other problem i
see with
a functional design are that i need to pass the request, response
and all the
parameter to call the function.
To the magical part i really like that such kind of magic is
possible but
I would be happy if someone has a better idea than string mixins.
More information about the Digitalmars-d-learn
mailing list