ax(batch): fix abbreviated names in usage example comments
cb→breaker, rl→rateLimiter, db→database in comment examples (AX Principle 1: predictable names in examples too). Co-Authored-By: Charon <charon@lethean.io>
This commit is contained in:
parent
4e7d4d906b
commit
4a7c19689a
4 changed files with 14 additions and 14 deletions
|
|
@ -32,7 +32,7 @@ func (e *databaseErr) Unwrap() error {
|
|||
return e.cause
|
||||
}
|
||||
|
||||
// db := globalDatabase // check before use; nil means not initialised
|
||||
// database := globalDatabase // check before use; nil means not initialised
|
||||
var (
|
||||
globalDatabase *sql.DB
|
||||
databaseMutex sync.RWMutex
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ type CircuitBreakerConfig struct {
|
|||
}
|
||||
|
||||
// configuration := DefaultCircuitBreakerConfig()
|
||||
// cb := NewCircuitBreaker("github-api", configuration)
|
||||
// breaker := NewCircuitBreaker("github-api", configuration)
|
||||
func DefaultCircuitBreakerConfig() CircuitBreakerConfig {
|
||||
return CircuitBreakerConfig{
|
||||
FailureThreshold: 3,
|
||||
|
|
@ -48,7 +48,7 @@ func DefaultCircuitBreakerConfig() CircuitBreakerConfig {
|
|||
}
|
||||
}
|
||||
|
||||
// cb := NewCircuitBreaker("github-api", DefaultCircuitBreakerConfig())
|
||||
// breaker := NewCircuitBreaker("github-api", DefaultCircuitBreakerConfig())
|
||||
// result, err := cb.Execute(func() (interface{}, error) { return fetchStats(ctx) })
|
||||
type CircuitBreaker struct {
|
||||
name string
|
||||
|
|
@ -67,7 +67,7 @@ type CircuitBreaker struct {
|
|||
// if err == ErrCircuitOpen { /* fallback to cached result */ }
|
||||
var ErrCircuitOpen = NewMiningError(ErrCodeServiceUnavailable, "circuit breaker is open")
|
||||
|
||||
// cb := NewCircuitBreaker("github-api", DefaultCircuitBreakerConfig())
|
||||
// breaker := NewCircuitBreaker("github-api", DefaultCircuitBreakerConfig())
|
||||
func NewCircuitBreaker(name string, config CircuitBreakerConfig) *CircuitBreaker {
|
||||
return &CircuitBreaker{
|
||||
name: name,
|
||||
|
|
@ -224,8 +224,8 @@ var (
|
|||
githubCircuitBreakerOnce sync.Once
|
||||
)
|
||||
|
||||
// cb := getGitHubCircuitBreaker()
|
||||
// result, err := cb.Execute(func() (interface{}, error) { return fetchLatestVersion(ctx) })
|
||||
// breaker := getGitHubCircuitBreaker()
|
||||
// result, err := breaker.Execute(func() (interface{}, error) { return fetchLatestVersion(ctx) })
|
||||
func getGitHubCircuitBreaker() *CircuitBreaker {
|
||||
githubCircuitBreakerOnce.Do(func() {
|
||||
githubCircuitBreaker = NewCircuitBreaker("github-api", CircuitBreakerConfig{
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ func TestCircuitBreaker_StateString_Ugly(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
// cb := NewCircuitBreaker("test", DefaultCircuitBreakerConfig())
|
||||
// result, err := cb.Execute(func() (interface{}, error) { return "success", nil })
|
||||
// breaker := NewCircuitBreaker("test", DefaultCircuitBreakerConfig())
|
||||
// result, err := breaker.Execute(func() (interface{}, error) { return "success", nil })
|
||||
func TestCircuitBreaker_Execute_Good(t *testing.T) {
|
||||
breaker := NewCircuitBreaker("test", DefaultCircuitBreakerConfig())
|
||||
|
||||
|
|
@ -228,7 +228,7 @@ func TestCircuitBreaker_Caching_Good(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
// cb.Execute(successFn) → result, ok := cb.GetCached() → ok == true
|
||||
// breaker.Execute(successFn) → result, ok := breaker.GetCached() → ok == true
|
||||
func TestCircuitBreaker_GetCached_Good(t *testing.T) {
|
||||
breaker := NewCircuitBreaker("test", DefaultCircuitBreakerConfig())
|
||||
|
||||
|
|
@ -250,7 +250,7 @@ func TestCircuitBreaker_GetCached_Good(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
// cb := NewCircuitBreaker(...) → _, ok := cb.GetCached() → ok == false
|
||||
// breaker := NewCircuitBreaker(...) → _, ok := breaker.GetCached() → ok == false
|
||||
func TestCircuitBreaker_GetCached_Bad(t *testing.T) {
|
||||
breaker := NewCircuitBreaker("test", DefaultCircuitBreakerConfig())
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ import (
|
|||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// rl := NewRateLimiter(10, 20)
|
||||
// rl.Stop()
|
||||
// rateLimiter := NewRateLimiter(10, 20)
|
||||
// rateLimiter.Stop()
|
||||
func TestRatelimiter_NewRateLimiter_Good(t *testing.T) {
|
||||
rateLimiter := NewRateLimiter(10, 20)
|
||||
if rateLimiter == nil {
|
||||
|
|
@ -26,7 +26,7 @@ func TestRatelimiter_NewRateLimiter_Good(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
// rl.Stop() // idempotent — calling twice must not panic
|
||||
// rateLimiter.Stop() // idempotent — calling twice must not panic
|
||||
func TestRatelimiter_Stop_Good(t *testing.T) {
|
||||
rateLimiter := NewRateLimiter(10, 20)
|
||||
|
||||
|
|
@ -164,7 +164,7 @@ func TestRatelimiter_ClientCount_Good(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
// rl.Middleware() — token refills at requestsPerSecond rate; request succeeds after wait
|
||||
// rateLimiter.Middleware() — token refills at requestsPerSecond rate; request succeeds after wait
|
||||
func TestRatelimiter_TokenRefill_Good(t *testing.T) {
|
||||
gin.SetMode(gin.TestMode)
|
||||
rateLimiter := NewRateLimiter(100, 1)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue