reverting my changes and opening a discussion
diff --git a/CodeReviewComments.md b/CodeReviewComments.md
index d6a9c70..536a0a2 100644
--- a/CodeReviewComments.md
+++ b/CodeReviewComments.md
@@ -351,8 +351,7 @@
interface type, not the package that implements those values. The
implementing package should return concrete (usually pointer or struct)
types: that way, new methods can be added to implementations without
-requiring extensive refactoring, and this will enable the struct to implement
-more than one interface and be accepted/evaluated to all of them in different functions
+requiring extensive refactoring.
Do not define interfaces on the implementor side of an API "for mocking";
instead, design the API so that it can be tested using the public API of
@@ -401,33 +400,6 @@
func NewThinger() Thinger { return Thinger{ … } }
```
-```go
-// DONOT DO THIS
-package main
-import ("io")
-type Thinger interface {
- Thing() bool
-}
-type defaultThinger struct{ }
-func (t defaultThinger) Thing() bool {
- return true
-}
-func (t defaultThinger) Read(p []byte) (n int, err error) {
- return 0, nil
-}
-func NewThinger() Thinger {
- return defaultThinger{ }
-}
-func main() {
- testThinger(NewThinger())
- // will return cannot use NewThinger() (type Thinger) as type io.Reader in argument to testReader: Thinger does not implement io.Reader (missing Read method)
- // if NewThinger() return defaultThinger it will work
- testReader(NewThinger())
-}
-func testReader(r io.Reader) {}
-func testThinger(t Thinger) {}
-```
-
## Line Length
There is no rigid line length limit in Go code, but avoid uncomfortably long lines.