回答編集履歴

1

誤字等を訂正

2023/11/17 15:31

投稿

honey32
honey32

スコア246

test CHANGED
@@ -1,6 +1,6 @@
1
1
  Avoid Hasty Abstraction (早まった抽象化は避けよう)という標語があります。共通化するべきでない物事についてのコードを共通化すると、コードが格段に複雑化して扱いにくくなるのでトレードオフを考えて、まずは「共通化せずベタ書きする」ことから始めるほうが良い、という教訓です。
2
2
 
3
- 抽象化・共通化によってメンテナンス性の向上につながる重複コードは削減できると良いですが、「意味的には別にまとめるほどじゃない」「愚直に書いたほうがパッと見ただけで意味が明確である」ようなケースではむしろ技直に書いたほうが良い場合があります。
3
+ 抽象化・共通化によってメンテナンス性の向上につながる重複コードは削減できると良いですが、「意味的には別にまとめるほどじゃない」「愚直に書いたほうがパッと見ただけで意味が明確である」ようなケースではむしろ技巧を凝らせすぎて理解しづらいコードないよう、愚直に書いたほうが良いす。
4
4
 
5
5
  今回のように「入力フォームの初期値に `0` や `""` を入れる」は明確に後者です。もともと長くないので大したコード削減になりませんし、「本質的に number なら 0, string なら "" しかありえない」訳ではない、つまり **意味は重複していない**ので、共通化するうまみがありません。
6
6