Comments (4)
This sounds a bit like the Law of Demeter. Makes sense to me.
from revive.
Yes, I've did not mentioned Law of Demeter because a rule checking it is fare more complicated than just calculating call chains length. For example a builder like MyObject().WithOption1().WithOption2()
chains calls but it respects the Law of Demeter. To detect cases like that we need to typecheck and then control on the types in the call chain.
Most of the time, a simple call chain length is enough to point out aberrations like the ones I've used as example in the proposal.
from revive.
Yes, this makes sense. LGTM!
from revive.
@chavacava do you think we can close this?
from revive.
Related Issues (20)
- Add configuration to the dot-import rule HOT 8
- Supporting multiple expressions for import-alias-naming HOT 3
- Error generated when try to compare strings in test which contains color codes HOT 3
- Add a comment length checking in `rule.exported` HOT 4
- bug: `redundant-import-alias` rule check for import path instead of package name HOT 7
- Ignore dot import aliases in git push in import-alias-naming rule HOT 2
- detect unnecessary gomock controller Finish call HOT 4
- modifies-value-receiver ignores modification to maps and slices HOT 1
- var-naming rule to check that plural vars with ID are capitalised HOT 7
- Add a linter rule to enforce omitting the type for the same type arguments in a function HOT 3
- add-constant suggests invalid fix of replacing struct tags with string constants for anonymous structs HOT 2
- New release (1.3.5) HOT 1
- Cannot install 1.3.5 HOT 9
- replace directive error in latest tag / release HOT 1
- Cannot install 1.3.5 but 1.3.3 works HOT 1
- `unhandled-error`: error message function name does not match name used for exclusions
- Expand `unused-parameter` to check anonymous functions HOT 1
- next phase of refactoring from black and white to block and allow HOT 2
- enforce-slice-style: Add declaration style HOT 8
- False Positive in rule max-control-nesting HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from revive.