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
- できる限りテストを付けるのが大事である。