Giter VIP home page Giter VIP logo

Comments (3)

Hoverbear avatar Hoverbear commented on June 19, 2024

The project became something I didn't feel ownership of, had several features I never wanted to merge to begin with, and I hadn't used it since one around 2018, so I wasn't the right person to maintain it. I am incredibly glad to have a friend in @jbaublitz who was willing to take this over.

from getset.

jbaublitz avatar jbaublitz commented on June 19, 2024

Hi @pnevyk! I'm so sorry for the delay. I'm the new maintainer of this crate, and there are certain features I would be willing to discuss, but my personal feelings about builder patterns in this library is that there are already a number of crates that do this quite well. I'm actually using this crate in another library I maintain, and I've found great success of using this library with a combination of a builder pattern library. I still need to go through the backlog of issues which I intend to do soon and close the ones that I likely won't implement. Other features like Option fields, etc. sound like features I'd be more willing to implement if there's a way to do it. Thanks for reaching out, and I'd be happy to discuss whatever features you're interested in in a separate issue!

from getset.

pnevyk avatar pnevyk commented on June 19, 2024

Hi @jbaublitz, no worries about the delay! I can see how fluent setters feature would overlap with builder pattern libraries, it did not occur to me before, thanks. The difference between hypothetical getset fluent setters and builder pattern libraries (at least those that I saw) would be this:

// getset
let options = MyOptions::default().option_x(value);

// builder pattern
let options = MyOptions::builder().option_x(value).build();

The getset approach feels a bit more lightweight and would be useful in cases where the default value of a struct satisfies most of the situations and only sometimes changing a few options out of many is needed, whereas builder pattern is imho better for situations where one wants to construct a complicated struct where none or only a few fields are optional. But this subtle difference is probably not worth the complexity added to this crate. I am fine with that.

I actually don't have any feature requests, I am a happy user that reaches for this crate whenever I have big structs for which I want to have getters. Thanks for undertaking the maintenance of this crate 👍

from getset.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.