Replace every global container with a locally encapsulated/passed one. Examples:
type A struct {
state ..
}
... subsequent functions become methods on A
var readChan = make(chan ...)
var writeChan = make(chan ...)
func() {
var container ...
for{
select {
op := <-readChan
...
op :=<-writeChan
...
}
}()
Replace every global container with a locally encapsulated/passed one. Examples: