alpacahq / alpacahq/alpaca-trade-api-go
Inconsistent strategies for managing options when creating new client instances
- Lingua principale
- Go
- Stelle
- 429
- Fork
- 118
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
`NewClient` in `alpaca/rest.go` accepts a `ClientOpts` struct, where as `NewStocksClient` in` marketdata/stream/client.go` accepts a variadic list of stock options.
`NewClient`:
```go
key, secret, err := GetAlpacaCredentials()
if err != nil {
return nil, err
}
market := alpaca.NewClient(
alpaca.ClientOpts{
APIKey: key,
APISecret: secret,
BaseURL: "https://paper-api.alpaca.markets"},
)
```
`NewStocksClient`:
```go
key, secret, err := GetAlpacaCredentials()
if err != nil {
return nil, err
}
processors, err := GetProcessorCount()
if err != nil {
return nil, err
}
stocks := stream.NewStocksClient(
marketdata.IEX,
stream.WithBufferSize(1000),
stream.WithProcessors(processors),
stream.WithCredentials(key, secret),
stream.WithReconnectSettings(0, 500*time.Millisecond),
stream.WithLogger(&AlpacaStreamLogger{}),
)
```
Please note that `WithCredentials` and `APIKey` + `APISecret` are just different enough to cause confusion.
I by far prefer the variadic list approach.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.