Canonical guidance

Use when

Avoid

Preferred pattern

type Client struct{}

func (c *Client) Do(ctx context.Context, req *Request) (*Response, error) {
	return nil, nil
}

func (c *Client) DoWithRetry(ctx context.Context, req *Request, retries int) (*Response, error) {
	return nil, nil
}

Anti-pattern

Explanation: This anti-pattern is tempting during rapid iteration, but silent breakage turns every downstream upgrade into manual triage.

Why

Sources