facebook / facebook/flow

Enforce an override keyword for class methods

未關閉
#1,480 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
feature request
主要語言
Rust
星號
22.3k
分支
1.9k
PR 合併指標
30 天內沒有已合併 PR

描述

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.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。