W "Effective Go" Zjednoczone:Czy idiomatyczne niemającego interfejsów zwanych jak „* er”
Umownie, interfejsy jednej metody są nazywane przez nazwę metody Plus -er przyrostek lub podobnych modyfikacji do skonstruowania rzecz agent:
Reader
,Writer
,Formatter
,CloseNotifier
itp
bufio.io
to opakowanie zawiera:
// Reader implements buffering for an io.Reader object.
type Reader struct {
buf []byte
rd io.Reader
r, w int
err error
lastByte int
lastRuneSize int
}
Czy to jest idiomatyczne o strukturze o nazwie "* er"? Szczególnie w tym przypadku jest to struct
o tej samej nazwie co io.Reader
, który jest interfejsem.
Nigdy nie czytałem niczego sugerującego, że 'struct's z jedną metodą powinno mieć nazwę kończącą się na' -er'. Być może w przypadku pakietu 'bufio.io' nazwa była właściwym wyborem, ponieważ była prosta i miała sens ... ale nie sądzę, że jest to konieczne. –
Osobiście uważam, że będzie to mylące. przy okazji jest czytnik buforujący w stdlib. – fabrizioM