-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
タスク
- うまい命名を思いつく
- 実装する
背景
現状、assert-codeblock は 2 種類の diff 機能を提供している。
| コマンド名 | 教材は、差分ある行をすべて含んでいる | 教材は、差分のない行をすべて含んでいる |
|---|---|---|
| diff | true | true |
| diff-partial | false | false |
つまり、
- diff は「2 つのファイル全体を引用し、減った行と増えた行をすべて網羅」の意味
- diff-partial は「2 つのファイルの一部を引用し、それらに対して減った行と増えた行を部分的に指定」の意味
しかし、このアプローチには欠点がある。
https://github.com/progedu/intro-2023-edition/pull/1421#discussion_r1387773377
のように、本来
-}, 10);
+}, 1000);というのが正しい diff であるときに、diff-partial として
+}, 1000);だけ書いてしまっても、テストを通過してしまう。
改善案
現状の diff-partial を 2 つに分割することで、問題が解決する。
| コマンド名 | 教材は、差分ある行をすべて含んでいる | 教材は、差分のない行をすべて含んでいる |
|---|---|---|
| diff | true | true |
| full-diff-partial | true | false |
| partial-diff-partial | false | false |
しかし、 full-diff-partial と partial-diff-partial ではあまりに名称が分かりづらい。上手い命名を思いつく必要がある。
なお、GPT-4 に案を求めたところ、以下が返ってきたが、どちらもあんま気に入っていない。
| 上での表記 | diff | full-diff-partial | partial-diff-partial | 欠点 |
|---|---|---|---|---|
| 案 1 | diff | diff-all | diff-part | diff より diff-all の方が条件ゆるい、というのは分かりづらい |
| 案 2 | diff | diff-include | diff-select | select ではなくない??? |
必要性
ちなみに、partial-diff-partial は必要である。なぜなら、一回の差分を 2 つのコードブロックに分けて説明することが割とあるからである。
さらに、上述の理由で、full-diff-partial も必要である。
もしかすると、現状の diff というのが不要な存在であって full-diff-partial に吸収されるべき存在なのかもしれない。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels