0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【読了記事】プログラムを読む技術(岩松洋さん著)

Posted at

チャプターごとに感想などを書いていきます。

Chapter1 : なぜプログラムを読む力が必要か

 Chapter1では、プログラムを読むシーンの具体例と、「プログラムを読む力」の重要性について述べられています。
 読者をやる気にさせてくれる言葉が転がっていて気分が少し上がりました。

Chapter2:他人のプログラムを読むのが難しい理由

 Chapter2では、プログラムの作者と読者の思考や認識の相違に着目して、他人のプログラムを読むことが困難な理由が7つ述べられています。
 個人的には「知っている or 知らない」が結局一番大きな要因だと感じていますが、本書では「考え方の違い」「使っている技術の違い」など、基本的に両者の「違い」に焦点を当てています。

コメントは「プログラムの実行されないコード」ということもできます。

 良い感じの名言も出てきました。

 コラムや筆者の体験談など、具体的な技術以外のところもけっこう面白いです。

Chapter3:「入力」と「出力」を探すのがコツ

 Chapter3ではプログラムの基本構成と読み方の手順の概要が述べられています。
 プログラムの基本構成は「入力→処理→出力」であり、すべてのプログラムはこの基本構成の組み合わせである、という考え方がChapter3で登場します。
 むむっ、確かに。
 そりゃそうだろって感じかもですが、今読んでる箇所の入力と目的をおざなりにしたまま解読しようとしてちぐはぐになってしまうことが今までにあったような気がしてきました。
 プログラムの読み方に関しては極々当たり前のことが書かれていますが、それを実行するための技術がChapter4以降で述べられているはずです(読みながら書いている)。

Chapter4:プログラム全体を把握する

 Chapter4では、プログラム全体を把握することについて、具体例や手順、サンプルコードを交えて述べられています。
 「プログラムを読む前にすること」の節では、ドキュメントについてや、実装した人に質問する際の準備事項などの説明があり、かなり実践的(現場的)です。
 個人的には

プログラムの目的から実装をイメージする

 が良いなと感じました。受け取るだけよりも、自分自身がプレイヤーになる方が理解が深まります。

Capter5:効率良く1行ずつ読んでいくコツ

 Chapter5では、プログラム全体を捉えた後、詳細に解読していくために必要なポイントが述べられています。

1行ずつ読むときにもその行に入力、処理、出力があるという目線が必要です

 プログラムの基本構成で行単位まで分解出来るという思想のもとで説明と実習が続きます。少し窮屈に感じましたが、どこまでも機械的に追っていける状態を目指せるのであれば頑張ってついき行きたいところです。

Chapter6:「実習」プログラムを読む(入門レベル)

 Chapter6からは実践編です。入門レベルとはいえ、真面目にやると結構大変です。

Chapter7:Pythonのモジュールを読む

 Chapter7は実習の特別編です。ちょっとガチっぽいコードも登場します。モジュールのソースコードを取得する関数があるというのは初知りでした。

Chapter8:「実習」業務システムを読む

 Chapter8は実習の応用編です。ここはかなりイージーでした。

まとめ

 読み切りやすい分量とレベル感だった思います。
 結局「コードをたくさん読むしかない」とはなりますが、それを実感できるだけでも読む価値十分でした。
 コラムや筆者の体験談など、ほっと落ち着ける箇所があったのがすごく好きです。

 

 

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?