---
title: Consistent Receiver Naming
impact: LOW
impactDescription: improves readability and consistency
tags: go, style, quality
---

## Consistent Receiver Naming

Receiver names should be short (1-2 letters) and consistent across all methods of a type. Do not use generic names like `this`, `self`, or `me`.

**Incorrect (inconsistent or verbose):**

```go
func (this *UserRepository) Get(id string) (*User, error) { ... }

func (repo *UserRepository) List() ([]*User, error) { ... }

func (self *UserRepository) Update(u *User) error { ... }
```

**Correct (short and consistent):**

```go
// Use 'r' consistently for UserRepository
func (r *UserRepository) Get(id string) (*User, error) { ... }

func (r *UserRepository) List() ([]*User, error) { ... }

func (r *UserRepository) Update(u *User) error { ... }
```

**Benefits:**
- Reduces visual noise in method definitions
- Follows Go community standards
- Makes it easier to search and scan methods of the same type

**Tools:** golangci-lint, stylecheck
