hmil / tslint-override

TSLint plugin bringing support for the override keyword
MIT License
27 stars 6 forks source link

Confusing `exclude-interfaces` behaviour #12

Closed TjlHope closed 5 years ago

TjlHope commented 5 years ago

I was expecting that adding "excludes-interfaces" would prevent lint errors if I was missing an @override marker, but not produce any errors if I did choose to correctly add an @override marker.

I've since realised that @override markers for implementing an interface are less useful, as you'll get a compile error if you typo a method name, etc. (as you won't now correctly implement the interface). A place where it is still useful is abstract classes, but that's a bit more of a corner-case.

But either way it might at least be worth clarifying in the docs so people know what to expect?

hmil commented 5 years ago

You mean if you use the override keyword for an interface, and set "exclude-interfaces", then the plugin throws an error? This is most likely a bug. I think it should instead ignore extraneous @ override keywords that override interfaces.

hmil commented 5 years ago

I created #13 . Let me know if that is what you were talking about. Feel free to work on a fix or otherwise I'll get to it when I have a minute.

TjlHope commented 5 years ago

Yep, that's it exactly, thanks. I won't have a chance for a week or so, but I'll definitely have a go after that (if you don't get there first). Be a good introduction before having a go at #11!

TjlHope commented 5 years ago

Thanks!