Giter Site home page Giter Site logo

Comments (6)

asim avatar asim commented on May 5, 2024

Makes sense. I need to give some thought to the approach with flags and whether that's the right method for the library.

from go-micro.

asim avatar asim commented on May 5, 2024

I was speaking with @dancannon, he made me realise that flags in a library are probably bad practice. I'll look to remove flags entirely and provide an example of initialisation in the template project.

from go-micro.

crackcomm avatar crackcomm commented on May 5, 2024

I understand that defining flags in library init function may be a bad practice, but in such libraries like service server (like this one) I think flags should be standarized. Please take a look at how kubernetes is defining server flags.

Edit:
Maybe define flags in Init()?

from go-micro.

asim avatar asim commented on May 5, 2024

The example given here is for the kubernetes master server which is not a library but a service itself. It would make sense to perhaps extract out flags into a separate package that could be used to run go-micro from the command line. The mistake was probably having flags in the server package in the first place. It should be imported for use elsewhere rather than the defacto starting point.

from go-micro.

asim avatar asim commented on May 5, 2024

Flags have been removed from the server package. I have created a new package called cmd for cli based usage which includes flag parsing. You can call import the cmd package and call cmd.Init() to parse flags and initialise the various packages based on that. This means if you are using the client or registry for your own uses you can use it for that too.

from go-micro.

crackcomm avatar crackcomm commented on May 5, 2024

Now it really can be seen with a naked eye it's a better way.

from go-micro.

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.