01 / 05
ファイルを分ける・借りてくる
INPUT · スライド
1つのファイルが太っていく
02 / 05
全部入りのファイルを見てみる
下は「商品を表すクラス」「商品のデータ」「一覧を出す処理」が同じファイルに同居している例。まだ短いほうだけど、もう役割が3つ混ざっているのが分かるかな。
class Item { constructor(name, price) { this.name = name; this.price = price; }}const items = [ new Item("ペン", 120), new Item("ノート", 180),];for (let i = 0; i < items.length; i++) { console.log(items[i].name);}実行結果
ペン ノート
03 / 05
困るのは書くときじゃなく、直すとき
大きいファイルがつらくなるのは、あとから手を入れるときだよ。
- 直したい場所を探すのに、関係ないコードまで目を通すことになる
- 似た名前を付けてしまい、うっかり前の定義を上書きする
- 別の画面でも使いたい処理があっても、ファイルごと持っていくしかない
書いた本人でも、1週間たてば忘れている。ファイルが大きいほど、思い出すのに時間がかかるんだ。
04 / 05
行数ではなく役割で切る
では、どこで切ればいいんだろう。「100行を超えたら切る」ではなくて、役割で切るのがコツだよ。さっきの例なら3つに分けられるね。
- データ … 商品そのものを表すクラスと、その中身
- 計算 … 合計を出すような処理
- 表示 … 画面に出す処理
この切り分けができていれば、あとはファイルを分けるだけ。逆に、混ざったままファイルだけ分けても読みやすくはならないよ。
05 / 05
まずは1つのファイルの中で分けてみよう
ファイルをまたぐ書き方は次のレッスンで覚える。その前に、役割ごとに切り分ける感覚をつかんでおこう。
やることは1つだけ。ひとかたまりになっている処理を、意味のある名前をつけた関数やクラスに分けること。名前を読めば中身が想像できるところまで分けられたら十分だよ。
それじゃあ、切り分けの練習から始めよう。