WEB+DB PRESS VOL.110 の特集は「設計も、実装も、ここから始まる!名前付け大全」です。
設計、実装(プログラミング)で名前付けが重要であることは、いまさら言うまでもないことでしょう。
その名前付けについて、哲学チックにアプローチしているのがこの「名前付け大全」の特集です。
特集の構成は以下のようになります。
- 第1章:「良い名前」とは何か
- 第2章:名前付けの理論
- 第3章:名前付けの実践
- 第4章:英語の壁の克服
- 第5章:さらなる効率化の手法
第1章でまず、良い名前とは何かについての考察が行われています。
悪い名前を付けてしまうと、理解が難しい、勘違いが起こる等により大きな問題が起きえます。
そして、そのそもなぜ名前があるのかを考え、良い名前の必要性を訴えています。
この章は、哲学的な感じを受けました。なぜか、なんなのかを考えているのである意味必然なのですが、少々難しく感じたのは私だけではないはず。ですが、名前付けを考える、学ぶ上では必須の内容なのでしっかり読む必要があると思いました。
第2章では、良い名前の付け方の理論を解説しています。
良い名前をズバリ言うと、以下のようになるとのこと。
ズバリ良い名前とは「適切な名前を選び」「正しく書かれた」ものです。
その上で、名前の意味と挙動が一致しない3パターンについて解説されています。
前章とは異なり、具体的なパターンを元に解説がされていて比較的分かりやすかったですね。この章は学びやすいと思います。
第3章では、名前付けの実践としてケーススタディで、良い名前付けと悪い名前付けを学びます。
悪いパターンの一例として、「情報量の少ない単語を選んでしまう」というものが上げられていました。これはInfo
と言った単語は情報量が少なく、読み手にとってノイズになるため他の単語に置き換えようというものです。
具体例ではかなり名前付けの定義が厳密になり、ここまで厳密に名前付けを行う必要があるのかな?と思いました。しかし、筆者の方曰く、「完全で長い名前」と「不完全で簡潔な名前」であれば後々のことを考え「完全で長い名前」を強く推奨するとのこと。ここは意見が分かれると思いますが、まずは本書の通りにやってみて、現実のプロジェクトになじませる方法がよいのでしょう。
第4章では、みなさんが大好きな英語を使用しての名前付けの難しさと、その対処方法について解説されています。私も英語は大好きです。(グハッ!!)
筆者は、エンジニアは「英語から逃れることはできない」と言い切っています。確かに現実では、どんどん日本語の情報が減ってきて英語で情報を集めなければいけなくなってきていて、名前付けでも英語力が強く求められます。
英語が必要がないのは、SIer で名前付けがローマ字の省略形であり、技術も枯れたものを使っている世界だけではないでしょうか。そういう世界にいると、その世界から出るのが厳しくなりますが、多くのエンジニアがその世界で格闘していることを考えると頭を悩ませてしまいます。
話がそれました。英語ですね。英語のネイティブですら名前付けには悩んでいて、英語だから名前付けが難しい訳ではないことや、英語での名前付けのヒントが多数紹介されています。
この章でも、そこまで厳密に英単語を選ぶかという気がしますが、メンテナンスのことを考えるとその方がよいのでしょう。この章の内容を押さえている人とそうでない人では、名前付け力?に大きな差がでてくると思います。そういう意味では必読ですね。
第5章は、辞書の利用方法についての解説になります。
英語を正確に使うには、辞書をどのように使えばよいのか、他にも Goole 画像検索を利用するとよいなど参考になりました。
全体を通して感じたのが、「名前付け」とは哲学的で厳密性が求められるということですね。実際のプロジェクトでいきなりこのレベルで行うのは難しいので、段階的に導入していってメンテナンス性を上げていくのがよいアプローチかと思います。
細かいところでは、サンプルが Ruby と JavaScript だったのが厳しかったですね。JavaScript はともかく Ruby はそこまで一般的な記法ではないと思っていて、Java の方が分かりやすかったのではないかなと思いました。
さて、いろいろと述べてきましたが、プログラマであれば「名前付け大全」の本特集は読んでおきたい内容に仕上がっています。必読と言っても過言ではないでしょう。
書店で見かけることがあれば、手にとって読んでみてください。
WEB+DB PRESS もいつの間にか Kindle 版が出ているので、電子書籍でないとという方も Amazon から購入することができます。私も Kindle 版を購入しました。
- 作者: 藤村大介,森田リーナ,渡邉祐一,市原創,板倉広明,高橋征義,笹田耕一,大原壯太,新倉涼太,末永恭正,久保田祐史,牧大輔,東邦之,星北斗,池田拓司,竹馬光太郎,はまちや2,竹原,八谷賢
- 出版社/メーカー: 技術評論社
- 発売日: 2019/04/25
- メディア: 単行本
- この商品を含むブログを見る