読書習慣とおすすめの一冊「プログラマー脳」
読書をするということを習慣化しているのですが、たまたまどっかの記事で見かけて買ったプログラマー脳は読んでおくといいなと思ったので記事にしました。こちらから買えます。
私の読書習慣
ちなみに私の読書週間としては
- 毎日20:30~21:30までは読書をする
- 電車に乗って満員200%じゃなければ読む(大体10分ほど)
没頭するほど集中力が続かないこともあるのでちょこちょこ休憩しながら読んでいます。
読書のスタイル
読み方は状況によりけりですが、例を出すところは飛ばすことが多いです。実体験や見聞きしたことよりは論文やデータから見た考察とかのほうが個人的にはいいかなと思うので。
人によっては例があったほうがイメージがわかりやすいので、そっちを中心に読む人もいるかと思いますが、全てを読む必要はないかなと思います。特にある程度知っている内容なら。
感想と本書の概要
本の要約は場合によっては著作権違反になったりするので、私の感想をメインにしつつ引用を少し出しながら書いていこうと思います。
この本で一貫して書かれていることが認知負荷を減らすようにしましょうという話になります。
認知負荷とプログラミング
人間には短期記憶、長期記憶、ワーキングメモリがあり、短期記憶はコードに置き換えると変数、長期記憶は構文(forやif等)、ワーキングメモリは処理の内容になります。認知負荷はワーキングメモリに関わってきます。
コードを読むときにどんな処理になっているのがわからないということがあります。その時、単純に言語の情報が足りないのか?構文がわかっていないのか?処理内容がわかってないのか?ということがあります。ドメイン知識も関係してそうですがここでは言及されていません。
認知負荷の軽減方法
言語の情報や構文についてはある程度調べて覚えれば大丈夫なのですが処理内容に関しては自身の記憶だけではどうにもなりません。すでに書いてあるものを改修したりする場合は大変な作業になると思います。
ちなみに本書では言語の構文などの覚え方や定着の仕方なども言及しているので、気になればぜひ読んでみてください。
命名やコードの整理の重要性
認知負荷についてはいくつか気を付けるポイントが書いてあり、命名の仕方やコードを適切に分けて関数化することについて書いています。関数化じゃなくてもクラス化でもいいと思います。
他人のコードを読む際のコツ
それから人のコードを読む際に良い方法も書いてあります。変数同士を結び付けて紙に書いたり、パッドで書き込むのもいいと思います。
割り込みタスクと新人サポートについて
他の内容としては割り込みタスクが入るや新人へのサポートについて書かれていました。ここもためになりますね。
読書の重要性
本を読むといろんなことが知れます。技術的な面ももちろん必要ですが、メンタルや考え方なども必要だと思います。
他にも本を読んでいるのでいくつか面白いものがあれば紹介したいなとは思います。
Kindle Unlimitedのおすすめ
ちなみにKindle Unlimitedは速く本を読んで理解するのにおススメです。月額で読み放題だし、内容が薄いものはバンバン飛ばし読みもできるので練習にもなります。ではでは。