allegro / allegro/bigcache

Improve error handling in BytesQueue.Push function in queue.go

Aperta
#400 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement good-first-issue
Lingua principale
Go
Stelle
8.2k
Fork
614
Merge medio
5g 12h
PR unite (30g)
1

Descrizione

The Push function in BytesQueue currently uses a generic error message when the queue is full. It is suggested to use errFullQueue for a more descriptive error message.

Current Code:
```go
var (
errEmptyQueue = &queueError{"Empty queue"}
errInvalidIndex = &queueError{"Index must be greater than zero. Invalid index."}
errIndexOutOfBounds = &queueError{"Index out of range"}
)
```

Push function
```go
if !q.canInsertAfterTail(neededSize) {
if q.canInsertBeforeHead(neededSize) {
q.tail = leftMarginIndex
} else if q.capacity+neededSize >= q.maxCapacity && q.maxCapacity > 0 {
return -1, &queueError{"Full queue. Maximum size limit reached."}
} else {
q.allocateAdditionalMemory(neededSize)
}
}
```

Updated code
```go
var (
errEmptyQueue = &queueError{"Queue is empty."}
errInvalidIndex = &queueError{"Index must be greater than zero. Invalid index."}
errIndexOutOfBounds = &queueError{"Index out of range."}
errFullQueue = &queueError{"Queue is full. Maximum size limit reached."}
)
```
```go
if !q.canInsertAfterTail(neededSize) {
if q.canInsertBeforeHead(neededSize)) {
q.tail = leftMarginIndex
} else if q.capacity+neededSize >= q.maxCapacity && q.maxCapacity > 0 {
return -1, errFullQueue
} else {
q.allocateAdditionalMemory(neededSize)
}
}
```

This will improve the code quality

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.