LoginSignup
1
1

「プログラマー脳」を読んだらコードが少し早く読めるようになったので感想書きます!

Posted at

この投稿は?

プログラマー脳を読んだら、ちょっとコード読むのが早くなった感覚があったので、なぜそう思ったのか考える投稿です。

Part1 「コードをより良く読むために」を読んだ段階で、効果がありそうなので文章化します!

こんな人に読んでほしい(プログラマー脳を)

  • 他人が書いたソースコード読むのが苦手な人
  • ソースコードを読むと頭が痛くなる人
  • ソースコードは上から下に順々に読むものだと思っている人

なぜ読もうと思ったのか?

長年プログラミング教育の研究に取り組んでいる著者が、最新の「認知科学」に基づいて、プログラミングの際のさまざまな作業や技術の取得を効率的に行うための方法を解説しています。
まずは、コードを書いたり読んだりするときに「プログラマーの脳」がどのように働くかという認知プロセスについて説明しています。なぜなら、作業が異なれば、利用する認知プロセスも異なり、使うべきテクニックも変わってくるからです。
認知プロセスの段階や相互作用について理解したところで、「コードを速く、深く読む」「コードを読みやすくする」「新しい言語を短時間で習得する」といったことについて、どの認知プロセスを活用しているのかを考えて、どのような方法を採るべきかなのかを具体例を挙げて説明しています。また、プログラミングそのものではありませんが、新しい開発者を迎え入れる際のオンボーディングプロセスについても、認知科学的な側面から掘り下げています。

プログラマー脳から引用

ズバリ、本のキャッチコピーがとても興味深かったからですね!

プログラミング言語の書き方や設計に関する本は多く出版されていますが、「認知科学」に基づいてプログラミングの際のさまざまな作業を効率化するという観点で書かれている本はそんなにないと思うので思わず手に取ってしまいました。

感想書いている人の背景

  • 入社間もないので、初見で読むコードがたくさんある
  • 普段読書感想文を書かない
  • コード読むの苦手、読んでると眠くなってくる

読んだ感想

もちろんGoodだったので、投稿しているのですが、どんなところが良いと思ったのかまとめます!

コーディング中に脳が疲れてしまう要因について説明されている

みなさん、コーディングしている際にこうなったことありませんか?
「やべぇ、おら何やってるかわかんなくなってきたぞ!」

私はあります!

この本はそんなコーディング中の混乱に対して、混乱のタイプを分けを行います。
その後、コードを読み書きする際の認知プロセスを説明し、混乱がどのような認知プロセスを経て引き起こされるのか説明します。

私はこう変わりました。

「やべぇ、ソースコード内の知識不足が原因で、何書いているかわからなくなってきたぞ!長期記憶と呼ばれる認知プロセスが少ねぇからわからなくなっている!周りの長期記憶を持っている人にこの部分聞こう!!」

わからないなりに先に進めそうな気がします。希望が見えてきました!

認知科学を用いてコードをより良く読む方法がわかる

みなさん!こんな経験はありませんか?
「やべぇ、このコード何書いているのかわかんねぇぞ!ここは日本か?」

私はあります!

コードが下記のような状態のとき、どうしてもわからなくなってしまいます。

  • 馴染みのないコード(初見コード)
  • 複雑な仕様を実装しているコード(コード固有の複雑さがあるコード)
  • 複雑な書き方をしているコード(コードを書く人と読む人で知識のギャップがあるコード)

この本には、上記のようなコードを読む障害となっている例を認知科学をもとに読み解くテクニックが書かれています。

上記テクニックを使用して、コードをより良く読むことで、コードをより良く書くことができるでしょう。認知科学を用いてプログラミングへの向き合い方を変えることでより良い循環が生まれそうです。

可能性を感じますね!

まとめ

まだ第1章しか読んでいないのですが、衝撃を受けたので読書感想文を投稿してみました。
第2章は「コードについて考える」というタイトルなので、考えます。

みなさんもぜひ、「プログラマー脳」読んでみてください。きっと読み終わった後は、冷静にコーディングできるはずです!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1