2023年4月に読んだ本
4月は本を1冊読んだ。
Clean Coder
著者: Robert C. Martin, 訳: 角 征典
記載日: 2023-04-16
副題: プロフェッショナルプログラマへの道
きれいなコードを書くための本かと最初思っていたのだが、実際はプロのプログラマとしての振る舞いについて書いた本だった。
著者は Uncle Bob として有名なプログラマで、1970年代から職業プログラマをしており、本書執筆時点で 42年の経験がある大ベテランである。(ちなみに、日本語訳した「ボブおじさん」でググると、「ボブの絵画教室」の Bob Ross も出てきてしまうので注意。)
プロはこうあるべき、という鉄則のようなものがひたすら並べられているわけではなく、著者自身の経験談が豊富に語られているため、読み物として非常に面白かった。全文に渡って口語表現で書かれていることもあり、とても読みやすい。これは角さんの翻訳が良いのもあると思う。
この本の中で一番衝撃を受けたのは第1章「プロ意識」の以下の一節だ。
責任をとるのがプロで、そうでないならプロではない、と言っている。実際のところ日本において、所属している企業に損失を与えた場合にエンジニアがそれを補填することがどれくらいあるのかわからないのだが、このようなことを真剣に考えたことが無かったので、とても印象に残った。(企業が労働者に損害賠償請求できるのか、といった議論とか訴訟はよく見るが、自分から払う、という可能性を考えたことが無かった)
もう一つ面白かったのは第6章「練習」で述べられている、コーディングを型のように練習する、というテクニック。
ミュージシャンや武術家は日々反復練習を繰り返してスキルを高め、本番でそれを披露しているのだから、プログラマも本番(仕事中)に練習をするのではなく、日々の練習時間の中で練習を繰り返すべきだ、と言っている。言われてみればそうかも。。。
解き方をわかっている問題を何度も解くことに意味は無いと思っていたが、そのコードを書く動作を練習する、という重要な意味があるということを学んだ。
これは今自分がやっている競技プログラミングにも通じるものがあるかもしれない。簡単な問題だと解法はすぐに思いつくが、それを実際のコードに落とし込むのに時間がかかってしまう。競技プログラミングだと提出するまでの時間が重要なので、反復練習の中でショートカットを覚えたり、キーボードの指使いをより洗練させたりしていく、というのは今からでも実践できそう。
他にも1970年代のプログラミング事情などについても書いてあり、とても勉強になる本だった。(当時はデータの保存にテープを使っており、テープは一方向にしか動かず、巻き戻せなかった、などなど)
ためになることがたくさん書いてあり、手元に置いて何度も読み返したい本の一つになった。
この記事が気に入ったらサポートをしてみませんか?