On 10/30/19 8:05 PM, SealabJaster wrote:
https://bradley.chatha.dev/Home/Blog?post=JsonSerialiser1

Currently only the first post is out, as I'd like to collect feedback before writing any more.

The series is aimed at people new to D, or people who have heard of D, but haven't really explored its metaprogramming too much, hence certain things such as calling D's metaprogramming "often overlooked" as that tends to be true for non/new users of D.

Sorry in advance if this is the wrong forum group to post to, I didn't know whether to put it here or in the Learn group.

Future plans for this series:
  * Serialising structs (next up).

 * Serialising enums via their names, rather than values (and certain complications such as is(SomeEnum == int) being true).

  * Serialising classes.

  * Using UDAs to let classes and structs customise their fields.

 * Using __traits(compiles) to determine if a struct or class implements a custom (de)serialisation function.

 * Trying to think of how I can shoe horn mixin templates in, just so they're shown off.

I'm welcome to any other ideas to try and fit into the series. The serialiser won't be overly robust in terms of edge cases (such as nested classes/structs needing to be filtered out sometimes), but I'll try to mention them and provide a workaround where possible.

I've also taken to certain decisions in the code snippets, to try and reduce the amount of things I need to explain at once, and to hopefully make things more readable. e.g. Using "const string" instead of just "const" or "enum" (and then having to explain why not to use "enum" for strings), giving all if and else statements brackets to make things more readable (that's the plan at least), etc.

As for release schedule, I'm planning on getting at least one post out a week.

Other than feedback for the actual content of the blog, I'd also appreciate any feedback on visual style of the blog, since I'm quite a novice at CSS, let alone writing things like this.

While I'm not really capable of contributing to D in terms of improving phobos, or writing quality libraries, I'm hoping to at least be able to provide some educational material on what I feel makes D worth it as a way of contribution.

Looks like a great idea! Sounds very similar to what I've been learning over the past 5 years or so.

See my dconf presentation from this year.

Also, if you want some inspiration for serialization/deserialization, check out jsoniopipe: http://code.dlang.org/packages/jsoniopipe

Simply put, I think it's great to use D overloading as much as possible instead of static if (reading your first article). OK, now reading the "alternate function layout", I see you did do that :) That's how I did mine, and I think it reads much nicer.

-Steve
        • Re: Blog seri... SealabJaster via Digitalmars-d-announce
          • Re: Blog ... SealabJaster via Digitalmars-d-announce
            • Re: ... JN via Digitalmars-d-announce
              • ... Patrick Schluter via Digitalmars-d-announce
              • ... Martin Tschierschke via Digitalmars-d-announce
              • ... Laurent Tréguier via Digitalmars-d-announce
            • Re: ... SealabJaster via Digitalmars-d-announce
              • ... JN via Digitalmars-d-announce
              • ... Steven Schveighoffer via Digitalmars-d-announce
    • Re: Blog series to te... SealabJaster via Digitalmars-d-announce
  • Re: Blog series to teach a... Steven Schveighoffer via Digitalmars-d-announce

Reply via email to