facebook / facebook/flow

Enforce an override keyword for class methods

Aperta
#1,480 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
feature request
Lingua principale
Rust
Stelle
22.3k
Fork
1.9k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hi flow team. Firstly, thanks so much for putting together this tool.

I have decently complex class hierarchy and I'd love to have the requirement (or the ability to set the requirement) that I explicitly state when a method is overriding another method. Something like:

```
class Animal {
goes () {
return '';
}
}

class Cow extends Animal {
override goes () {
return 'moo';
}
}
```

then in the case of a missing override:

```
class Cat extends Animal {
goes () {
return 'meow';
}
}
```

we could report something like `overriding method 'goes' missing 'override' keyword`

and in the case of an unnecessary override:

```
class Dog extends Animal {
override barks () {
return 'woof';
}
}
```

we could report something like `method 'bark' is not an overriding method`

My apologies if this change has already been discussed/is infeasible. I looked for a similar discussion and could not find one. If this sounds like an interesting idea please let me know and I can look into putting together a PR for it.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.