SAGA SITE

夢をプロトタイピング

分かりやすいプログラミング動画「なるセミ」

とても分かりやすいプログラミングの動画がありました。

それが「なるセミ」です!

 

 

YouTubeチャンネル「なるセミ

https://www.youtube.com/c/narusemi

www.youtube.com

 

ドメイン駆動設計入門 」の著者、成瀬さん

今、「ドメイン駆動設計入門」というプログラミングの本を読んでいるのですが、その著者である成瀬 允宣(ナルセ マサノブ)さんのYouTubeチャンネルです。

 

sagasite.hatenablog.com

 

以下、分かりやすいと思った動画をメモしておきます。

 

プログラミングの上達方法

https://www.youtube.com/watch?v=BYCxTr_c8h0

www.youtube.com

(時間:14分44秒)

 

プログラミングが速くなるコツ

  • STEP1:書いて覚える → コピペしない。IDEの補助も活用して手書きする。
  • STEP2:丁寧に書く → 文章/コードで整理整頓する。知識を総動員して妥協しない。
  • STEP3:書き方を覚える → 迷いをなくす。パターンや原則を知っておく。
  • STEP4:プログラムをするプログラムを書く → 手作業を自動化するツールを作る。

 

…言われてみれば、いちいちもっともだと思いました。

 

STEP3のパターンや原則は「プリンシプル オブ プログラミング」という本に概要が紹介されていますね。 

 

 

MVCMVC2の違い

https://www.youtube.com/watch?v=8nzo0WkjVZ8

www.youtube.com

(時間:5分50秒)

 

従来の「MVC」と、Webフレームワークの「MVC2」の違いが、矢印の向きで説明されており、今まで感じていたモヤモヤが晴れてスッキリしました。

 

f:id:sagasite:20200910165843p:plain

 

副作用の分離方法

https://www.youtube.com/watch?v=4s1LuulooIM

www.youtube.com

(時間:4分23秒)

 

Haskellなどの関数型プログラミング言語を使うと、副作用のある場所を分離して管理できますが、PHPJavaなどの命令型プログラミング言語では副作用があっちこっちに散らばってしまい、バグの原因になりがちですね?

どうやって副作用のある場所をまとめれば良いのか、参考になりました。

 

  • 返り値のない関数(void) → 副作用をまとめる。
  • 返り値のある関数(retrun) → 副作用を書かない。

 

f:id:sagasite:20200910171155p:plain

 

void型の関数は、副作用がないと処理が行えないので、必ず副作用が存在しています。

 

  • void型の関数は、副作用が避けられない運命なので、それならvoid型に副作用を集めちゃえばOK。
  • void型ではない関数から副作用を取り出して、void型の関数に移せばOK。

 

副作用はなるべくvoid型の関数にまとめておくと、後で見返したときに分かりやすいとのこと。

これは良いコツだと思いました。

 

他にも、参考になる動画があるので、皆さんも是非一度ご覧になってみてはいかがでしょうか?