Closed jrfnl closed 9 months ago
@gsherwood Just checking: had a chance to think about this yet ?
I like the concept, but I haven't had time to take a look at the details or think about how it might work. It's probably going to take me a while to get to.
@gsherwood If you're open to it, I'd be happy to have a first go at this and adjust the existing comment sniffs (where relevant) to use the abstract. That should help figure out any kinks in my proposal above and if I'd run into situations which need discussion I could post those here ?
Go for it :)
Question: should the abstract be allowed to throw (generic) errors or should all error throwing be done in the concrete classes ?
FYI: https://github.com/squizlabs/PHP_CodeSniffer/issues/2189#issuecomment-448011305
Just FYI: I've started work on this as, as soon as I started work on the AbstractDocblockSniff - #2222 -, I realized some things would be easier if some of the new utility functions would already be available.
I hope to slowly but surely get a complete WIP branch ready by the time 3.4.0/3.4.1 is released, so I can start pulling the individual bits from it as soon as 3.5.0 opens for commits.
Once I've cleaned up what I've done so far, I'll put a WIP branch online somewhere so anyone interested can have a look at the direction this is going in.
Closing as replaced by PHPCSStandards/PHPCSUtils#517
Currently, the PEAR and the Squiz standard both contain a number of docblock related sniffs which are not configurable and are opinionated on what tags should be present in the various docblocks. Additionally, the various sniffs contain duplicate code.
External standards can, of course, create their own sniffs for these type of checks, however, that would involve yet more code duplication.
@gsherwood Would there be interest in an
AbstractDocblockSniff
?I imagine that sniff could roughly look like:
This would allow some simplification of the code used in the various current PHPCS sniffs dealing with docblocks and allow for far greater flexibility for external standards which want to check docblocks against their own rules for required/multiple etc.