Post

Conversation

スーパー偉そうなこと言うと、『プログラミング』って、 ・まずは文法を覚える(簡単) ・簡単なロジックを書いて動作させてみる(まあ簡単) ・自分でゼロから何か作ってみる(高負荷) ・人の意見を聞く(またはGitHubなどで著名なコードを読んで熟練度を上げる) ・何度も繰り返す(高負荷) ・徐々に作れる規模や難易度が上がっていく ↑ こんな感じかな… あとさー『フレームワーク』から入ると、『クラス設計』とかやらなくない? 自分はLaravelでお決まりのしきたりに従ってました(今なお従ってます) ただ、諸事情でちょっと複雑なシステムを生JavaScriptで作る機会があり、その流れで3〜4つほどフロントを生JavaScriptで実装していたんだ。 まずぶつかるのは、『データ構造をどう持つか?』 関数しか使わないならほとんどがグローバル変数になったり、似た要素が複数存在する時に、そのデータ構造の変化に対応するのが難しくなってくる。 なんとか各データを閉じ込めておきたくなる。 そこでクラスの出番が来る。 どんなクラスを作るか? どんなデータを保持する? どんな振る舞いをする? ここで、『データの関連性』というものに気づく。 データ群にはグループ的に分けられるものが複数存在する。 例えばデータベースを扱うクラスならば、『DBClass』などと名前をつけてデータベース接続に必要なパラメータを持ち、色んなデータを取得したり更新したりするための『振る舞い』を持つクラスを作るか。 それとも『DBClass』は接続系のものだけにして、例えば『フランチャイズ店舗テーブル』のデータ群だけを操作するための『FCShopClass』を作りその中にDB操作に関する処理をまかせるか。 こうなってくるといかに『命名が大切か』ということになる。 それは何を表すデータか? それは何をするための関数か? それはどんなクラス名にするのが適切か? 一瞬で判断できる名前をつけたいのだぁ!! つまり、『どんなクラスを作るか?』にちょっとセンスがでちゃったりする。 生JavaScriptで作ってると、 『コンポーネントほしぃ!!!』 『ここはグローバル変数だよな』 ってことがあって、あらためてフレームワークのありがたみを知る、みたいなこと。 ありません? #これがオブジェクト指向プログラミングだとか言うつもりはないが