ライト・ポータブル・コード 複数プラットフォームに移植可能なソフトウェアの開発技法 [book]
ライト・ポータブル・コード 複数プラットフォームに移植可能なソフトウェアの開発技法 / Brian Hook (著), 鵜飼 文敏 (翻訳), 田郷 明 (翻訳)
副題の通り、複数プラットフォームに移植可能なソフトウェアの開発技法が広くまとまっています。
それぞれについては知っていたり、聞いたことがある内容が多いです。
しかし、それらをまとめておさらいすることで、移植性について考え直すことができました。
実は、コードの書き方うんぬんより、第1章「『移植性』という概念」に書かれている考え方が、本書で最も重要な部分なのかもしれません。
p.12
移植という作業を、編集やデバッグと同じように、1つの独立した段階として進めたいと思うかもしれません。しかし、「移植性を意識する」というのは、単なる1つの「手順」ではありません。プログラマーが実行する具体的な作業1つひとつに付加されなければならない、すべてを包含している「精神状態」なのです。
p.13
重要なのは、「コードを移植すること」と「移植可能なコードを書くこと」は別物だという事実を認識しておくことです。つまり、前者は「治療」であり、後者は「予防」です。プログラマーが悪習を身に付けてしまい、その副作用を後になって治そうとするよりも、できることなら今のうちに予防接種を施しておきたいところです。この「予防接種」を実現するには、移植可能なコードを作成する習慣を積極的に身に付け、その習慣が「習性」になるまで、つまり、意識の奥底に組み込まれ、プログラマーの思考の水面下で常に泳ぎ続ける「直感的理解力」となるまで、訓練することです。