huequica / DiscordTrashedDiver

100% typescript clean(?) discord bot implementation
3 stars 3 forks source link

メッセージのLeakとTweetの削除の分岐、最上位で明示的にしたくね? #224

Open SawadaReverse opened 6 months ago

SawadaReverse commented 6 months ago

https://github.com/huequica/DiscordTrashedDiver/blob/master/src/events.ts#L33-L39

すげー細かいんだけど、今直感的に見ると

  1. assert する
  2. Leak する
  3. assert する
  4. メッセージを削除する

みたいに読めてちょっとモヤッとした とはいえ、各処理の細かなチェック(emojiをつけた人間が発火すべき人間なのかとか)は各処理の頭に押し込むべき というのも理解はできるので、ご意見伺いたい 私がこのリファクタリング担当するのであれば

  1. assert する
  2. 3の assert をここでやる
  3. emoji の名前が(任意)だったら、 Leak する
  4. emoji の名前が(任意)だったら、メッセージを削除する

に変えるかなあ

huequica commented 6 months ago
  1. event.ts の層でおおまかな動作条件が見えないというのは agree
  2. ただし event.ts の層で特定ドメインの知識がまるごと置かれるのは可読性に悪影響を出しそうなので if(shouldLeak(reaction)) みたいな感じでハンドルできるといいかも