The lcom4 of s0 is 1 because both method1 and method2 use s0.m.
type s0 struct {
m int
}
func (a s0) method1() int {
return a.m
}
func (a s0) method2() int {
return -a.m
}
The lcom4 of s1 is 2 because method3 uses a.n which is not used by method1 and method2.
type s1 struct {
m int
n int
}
func (a s1) method1() int {
return a.m
}
func (a s1) method2() int {
return -a.m
}
func (a s1) method3() int {
return -a.n
}
Running the tests
go test ./...
License
This software is released under the MIT License, see the license file.