エンジニアと英語

英語でのネーミングは,「単語」ではなく,「文」で発想することで,一気にハードルが低くなることの事例をご紹介

投稿日:

概要

こんにちは。

ほとんどのプログラミング言語は,英作文の発想で記述できるように設計されています。

英語でのネーミングは,頭を悩ませるトピックの一つですが,このことを意識するだけでも,コードはグーンと読みやすいものとなることを紹介しながら,自分自身の知識整理も図ろうと思いました。

高度な文法知識は不要,中学英語で理解できる内容となっております。

ルールはシンプル

気を付けるべきルールはすごくシンプルで,英語での命名(クラス,メソッド,変数,……)を考えるときは,周辺ロジックとのツナガリを大切にする,ということに尽きると思います。

いわば,「単語」ではなく,「文」で発想するというアプローチです。

早速ですが,いくつかの分かりやすい事例をとりあげてみます。

事例① 関数と IF ブロック

引数として与えられた文字列 $ext が,有効な拡張子であるかをチェックする関数があったとします。

いま,有効な拡張子を 'txt' もしくは 'md' のいずれであるかとすれば,以下のような疑似コードが書けます:

関数を isValidExtension と命名したことによって,コードが「英文」のように見える嬉しさができました。

具体的には,IF ブロックと一緒に使うと if this is valid extension となり,まるで英文そのもののコードが仕上がります:

isVallidExtension は,拡張子が有効か無効かを,論理値で判定するという仕様であることを考えると,IF ブロックの中で使われることは,少し考えてみれば,すぐに分かることです。

このように,英語での命名は,これから名付けようとしている対象が,どのようなロジックの中で使われているかを考えることによって,自然な発想でネーミングできることの好例だと思います。

事例② CSS クラス名

段落タグ <p>hogehoge</p> を,条件に応じて,赤色にしたり,青色にしたりするシーンを考えましょう。

たとえば,エラーメッセージを発するときは赤色,正常終了メッセージを発するときは青色だとします。

CSS クラスを作るときには,is- で始めると,内容を形容しやすくなります:

これを実際のコードで使うと,<p class="is-error">名前が入力されていません</p> となり,ここでも class is error という英文が,自然と形成されていることが分かります。

「単語」ではなく,「文」で発想することによって,ネーミングは,自然なものとなることが理解できる好例ですね。

事例③ クラスとメソッド

オブジェクト指向で組む時にも,「単語」ではなく「文」で発想するというアプローチは使えます。

具体的には,クラス名が名詞(例:犬,ネコ,ロボット),メソッド名は動詞(例:食べる,眠る)という品詞になることを頭に入れて,自然になるようなクラス名とメソッド名を考えましょう。

ネーミングのポイントは,実際のコード中で使われたとき,自然な英文になるか?という観点です。

Human が主語となることを考えれば,eat や sleep といった動詞を思いつきますが,これがそのままメソッド名に使えないかと考えてみましょう。

コード中で使われると human.eat() などとなって,ここにも human eat という,意味のつかめる英文ができることからも,適切なネーミングだと判断できます。

つい,メソッド名から考えてしまいがちですが,オブジェクト指向では,クラス名からのつながりでメソッド名を考えると,自然に思いつくケースもあると思います。

まとめ

ネーミングをするときは,それが,どんなロジックの中で使われるかを,一足先に考えることで,自然なネーミングの発想ができるというアイデアを,共有させていただきました。

テストクラスを書くときにも,この記事でご紹介したような考え方を理解しておけば,完成したコードは,まるで英文のようにスラスラ意味を拾えるような構造になっているはずです。

GitHub などで,オープンソースのライブラリを参考にしながら,うまいネーミングのアイデアを集めていくのも,勉強になると思います。

ネーミングの良し悪しは,将来的なメンテのしやすさと直結する部分でもあるので,大切にしていきたいですね。

ブログランキング

(おしまい)

  • この記事を書いた人
  • 最新記事

Ajikichi

「美味しくなければ旅じゃない」が口癖。旨いものを求め、約三十か国を食べ歩く中で、台湾・ベトナムが誇る「感動的食文化」との運命的出会いを果たす。毎年、十回ほど「外食」と称して渡航。 仕事はエンジニアをしており、デザイン思考が気になる今日この頃。

オススメ記事

「韓国のマチュピチュ」こと、甘川文化村 1

目次1 はじめに:国内航空券よりも安い、釜山行きチケット2 「チョリャンミルミョン(草梁ミルミョン / 초량밀면)」地元の超人気店3 「甘川文化村」釜山のマチュピチュとも呼ばれるアート村4 「チャガルチ市場」飲ん兵衛のオアシス5 部屋呑み| ...

てへぺろ? 2

目次1 はじめに:朝の食事なら、萬華区(万華区)が良い1.1 なぜ萬華区(万華区)か?2 萬華区(万華区)エリアの朝食スポット5選2.1 「阿偉正宗咖喱飯」昭和の給食、素朴なカレー2.2 「周記肉粥店」オカワリ必至、おかゆがススム君2.3 ...

3

目次1 はじめに:数時間前まで「馬祖列島って何?」だった筆者が、出発を決意1.1 そうだ、「馬祖」行こう1.2 インターネット検索できないことだらけ。逆にそれって、チャンス?1.3 本記事のコンテンツについて2 馬祖列島を魅力的にする15の ...

家族団らん 4

目次1 はじめに:ハノイ随一のインスタ映えスポットとは?1.1 トレインストリートへの行き方1.2 本当にインスタ映えするのは「電車」ではない1.3 ハノイの「目覚め」2 「トレインストリート」訪問レポート2.1 「リビングルーム」になった ...

時空旅人 2018年9月号 Vol.45 [ 台湾 見聞録 ー 日本が残した足跡を訪ねて ー] 5

目次1 はじめに:ひさびさに「アタリ」の台湾特集誌が出たという直感でポチる2 【時空旅人 2018年9月号 台湾 見聞録】読書レビュー2.1 本書の構成スタイル2.2 日台ストーリの描かれ方2.3 「永久保存版資料」としての価値もある、【目 ...

6

目次1 午前六時台に、西門から街歩きをスタート2 「恋愛成就」の神様がいる廟、早朝から働いて暑さを回避する台湾の人々3 朝食は、外で買って食べることが浸透している「朝グルメ先進国」台湾4 めくるめくB級美食グルメに舌鼓4.1 「清粥小菜」| ...

暖色系のランプが照らす、薄暗い市場。地元の「すっぴん姿」、日常感が溢れる一コマ 7

目次1 台湾・板橋(バンチャオ)|グルメ食べ歩きの開始前に、市街地を観光2 台湾・板橋(バンチャオ)|「生炒魷魚」にて絶品グルメのイカスープに舌鼓3 焼き餃子、鍋にペタペタ貼って調理するから、中国語では「鍋貼」4 台湾・板橋(バンチャオ)| ...

図書館前の池に咲いていた花 8

目次1 台湾・北投(ベイトウ)|公私クサクサ、ちょっとした「傷心旅行」としてスタートした、ひとり温泉旅2 台湾・北投(ベイトウ)|「漢奇肉羹店」で全三種類の麺にトライ。すべてが「ナンバーワン」になる安定の美味しさだった3 台湾・北投(ベイト ...

-エンジニアと英語

Copyright© アジアの何か。 , 2021 All Rights Reserved.