Comments (5)
Hi @mihaeu,
thanks for pointing that out. I see the missing "No", is that what you mean?
Personally I mostly agree with referenced article in the one you referenced - No setters allowed: http://whitewashing.de/2012/08/22/building_an_object_model__no_setters_allowed.html
I use that it practice already.
What changes you suggest? Step by step the best.
from phpcs-calisthenics-rules.
- public properties should not be allowed
- method definitions named
setX
should not be allowed - method definitions named
getX
should not be allowed OPTIONAL - I don't know how much information you have available, but if it's like an AST you can also check for setter logic (is method a one-liner? does it assign the provided value to an internal attribute)
from phpcs-calisthenics-rules.
Thanks for elaboration and clear points! It's very easy to read.
I would start with small steps.
- Agree. It is already implemented
- Agree. Could prepare PR for this? Would be happy to help you.
I would keep 3. and 4. to discuss after 2. is closed.
from phpcs-calisthenics-rules.
I think this can be closed, as 1. and 2. are implemented in #32
- seems to strict and useless in practice.
from phpcs-calisthenics-rules.
Related to last comment, closing for now.
from phpcs-calisthenics-rules.
Related Issues (20)
- Impossible to suppress ObjectCalisthenics.Metrics.MethodPerClassLimit HOT 1
- Only one level ? And what abouht try catch ? HOT 6
- Only one level ? But how can you manage to exit a foreach ? HOT 14
- Question about Fluent Interfaces HOT 6
- Upgrade to CodeSniffer 3
- Allow "up" for short method names
- Multiline function definition should probably be counted as 1 line HOT 12
- How to do overrides HOT 10
- Missing ObjectCalisthenics/Sniffs/Files/ClassElementLengthSniff.php HOT 13
- Release v3.0? HOT 4
- Missing dependency in v3.0 HOT 1
- Usage with phpcs pear package or standalone phpcs.phar HOT 24
- Request: 2.* release with phpcodesniffer-standard HOT 6
- Nette\Utils\Strings not found HOT 6
- False positive of `ObjectCalisthenics\Sniffs\CodeAnalysis\OneObjectOperatorPerLineSniff` HOT 2
- Class 'Nette\Utils\Strings' not found possible problem with phpcs 3.2.3 ? HOT 4
- packagist.org don't contain v3.5.1 HOT 8
- Unexpected value on getStructureLengthInLines HOT 2
- Custom ruleset.xml HOT 7
- requires slevomat/coding-standard ^5.0.4 but it has already installed 6.0.1 HOT 5
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 phpcs-calisthenics-rules.