見出し画像

年子育児中の32歳主婦がエンジニアを目指す日記25 MVCの理解(後編)

お久しぶりです。まみこです。
え?まだ挫折してませんよ?笑

さて、今回はMVCに苦戦する記録です。「師匠は鬼だ」とか何とか言いつつ、小麦アレルギーで寝込んだりしながらも、なんだかんだでプログラミングのことは毎日ずっと考え続けてきました。連日必死で理解に苦しんでもがいていると、Slackで師匠から励ましが!

『今後OOPを理解するうえで、役割を理解するというのがとても重要です。今やってるのは思考の筋トレのようなもので、この下地は今後の実装力に大きく影響するので、コツコツでもしっかり積み重ねましょう!

思考の筋トレかぁ…

元フィットネスのコーチの私。筋トレで成果を出すには適度に負荷をかけることと、継続がとても重要で、それさえ出来れば確実に結果は出せます。

MVC上手くいかないけど、思考の筋トレなら継続すれば必ず結果がでるってことだよね?

よし、頑張ろう!!!(´;ω;`)←半泣き

まずはお手本コードの関数を中身を理解しよう。

わからないなら、調べる!
調べてもわからなければ質問する!
質問してもわからなければ、実践する!

そもそも先に関数を作ろうとするから混乱するんだ。まずはコントローラーでどんな処理をしたいのかイメージしてから関数化していこう!

関数は「共通化」するだけが目的だと思っていましたが、「役割分担すること」が目的の場合もあると知りました。

どう役割分担するのか。
より良いコードとはどういうものか?
「100%の正解があるわけじゃないけど、どうすればより良いものができるか考え続けていくことが大切」だと師匠から言われました。

「どうすればより良いものができるか…」

何度も使う処理は共通化しておくと、スッキリして見やすいし動きも軽いだろうな。
なるほど…バリデーションを関数化しておくと、他のエンジニアがコードを触る時にどこからどこまでがバリデート処理なのか分かりやすくなるのか…。誰が見ても分かりやすいコードも意識していかないとな…。
index.phpがControllerになっていて、ModelとViweは他の人に業務委託しちゃうイメージかな。てことはこの処理は新しいフォルダのここに関数作って移動して、controllerでは呼び出すだけにして〜…と。

気づけば思考回路がどんどん磨かれていました。

Wish List一周目はがむしゃらに個人開発してきたけど、就職したら1人で開発する訳じゃない。誰が見てもわかりやすいコードについても学びたくて『リーダブルコード』という本も読みました。この本は様々な言語でサンプルコードがあるので全ては理解できなかったけど、作者が伝えたい趣旨は理解できてとても学びになりました。

数日後…。

「よっしゃMVCの概念でコードかけた~!!!」

ってあれ!?今日はまだ作業開始して1時間しか経ってない!?

気づいたら、MVCの概念でさくさくコードを書けている自分がいました。
まだ、心の底から完璧と思うコードではないけど、確実に成長してる!\(*^O^*)ノ♪

自分を褒めつつも、まだ完璧じゃないという探究心を持ち続けることは大切だと感じました。
たとえエンジニア転職が成功しても、いつかお局的存在になったとしても、「より良いものを追い求めていく気持ち」は忘れたくないな…と思います!

長くなったので今日はこの辺で!
また気分転換に遊びにきてくださいね♪