December 2024
Beginner to intermediate
164 pages
1h 15m
Japanese
変更したいコードを読んでいて、コードが操作しているデータの一部がルーチンに明示的に渡されていないことに気づいたとしよう。どのように入力を明確にすればよいだろうか?
ルーチンを分割しよう。上部でパラメーターを集めて、次の部分に明示的にそれを渡すのだ。
パラメーターのかたまりをマップで渡すことがよくある。これだと、どんなデータが必要なのかを読み取って理解するのが難しくなる。あとで(暗黙的に)使うために、そのパラメーターを変更するという恐ろしい悪用にもつながる。
たとえば、こんなコードがあるとする。
params = { a: 1, b: 2 }
foo(params)
function foo(params)
...params.a... ...params.b...
fooを分割することで、パラメーターを明示的にする。
function foo(params)
foo_body(params.a, params.b)
function foo_body(a, b)
...a... ...b...
明示的なパラメーターが必要な別の例として、コードの深いところで環境変数の利用を見つけた場合が挙げられる。パラメーターを明示的にしてから、それを呼び出し関数のチェーンの上位に持ってくるようにしよう。こうすれば、コードが読みやすくなり、テストや分析もしやすくなる。
Read now
Unlock full access