b5d0a3c06d14138a9a5b5d1dcfc28e9de8012911
research/\343\201\252\343\202\223\343\201\241\343\202\203\343\201\243\343\201\246\351\226\242\346\225\260\345\236\213\343\203\227\343\203\255\343\202\260\343\203\251\343\203\237\343\203\263\343\202\260\343\201\247\347\240\224\347\251\266\343\201\256\343\202\263\343\203\274\343\203\211\343\202\222\346\233\270\343\201\223\343\201\206.md
... | ... | @@ -6,6 +6,7 @@ |
6 | 6 | ## "なんちゃって関数型プログラミング"の方針 |
7 | 7 | ### 方針1: 小さくて分かりやすい関数をたくさん作る |
8 | 8 | - DataFrameへの操作なら、DataFrameを受け入れてDataFrameを返すような関数を作る。 |
9 | + − 特にpandasの操作は自分で関数化し、unittestで挙動を確認しながら実装する。(理由は方針2で後述) |
|
9 | 10 | - unittestを書くのが簡単になる。 |
10 | 11 | - 特定の入力に対して出力が一意に定まるようになるので、テストを容易に作れる。 |
11 | 12 | - LLMの支援を受けやすい。 |
... | ... | @@ -20,8 +21,7 @@ |
20 | 21 | - 関数に実験名も入力として渡せば条件分岐できる。 |
21 | 22 | |
22 | 23 | ### 方針2: できるかぎりテストを書く |
23 | -- pandasの操作は自分で関数化し、それぞれunittestを追加する。 |
|
24 | - - 最初は全てにテストを付ける必要は無い。 |
|
24 | +- 全てにテストを付ける必要は無い。 |
|
25 | 25 | - unittestを書いているとコーディング時間が2倍になってしまうかもしれない… |
26 | 26 | - しかしコードの間違いに気が付かず、間違いの判明が後になればなるほど差し戻しの影響が大きくなる。 |
27 | 27 | - できる限りテストを付けるのが大事である。 |