言語学から見るコードの適切なコメントの書き方

プログラミング

言語学から見るコードの適切なコメントの書き方

はじめに

新年あけましておめでとうございます。

今日はポール・グライスという人物の話をしようと思います。ポール・グライスHerbert Paul Grice)はイギリス出身の哲学者・言語学者です。なんでいきなりこんな話をするかというと、自分のソースコードを上司にレビューしていただいた際に、「このコメント冗長ですね」とよく言われる。

「冗長ってなんやねん。冗長って説明しすぎなだけで、別に問題なくない?」と思うことが多々あったので、どんなコメントを書くのが適切のなのかを言語学の視点から調べてみました。

ちなみに、翻訳に関して色々な解釈があるが、個人的に興味がないので、割愛。(参考 : 「公理」の語用論 : グライス式”Maxim”の訳語と言語表現の誤解誘起効果)

会話の含意

言語表現には、慣習的に決まっている、文字通りの意味があるが、聞き手は、言語表現を聞いたとき、その表現の文字通りの意味を理解した上で、話し手の意図を理解しようと試みる。その際に生じる言外の意味を、会話の含意と呼ぶ。

グライスの含意の理論(Grice’s theory of implicature)

強調理論

参加している会話で受容されている目的や方向が、その段階で求めていることに従って、発話を行う。

グライスの協調の原理

4つの公理がある。詳しくは次に示す。

グライスの協調の原理(Gricean maxims)

会話の格率(Conversational implicature)

  • 量の公理(Maxim of Quantity): Information 情報を過不足なく提供する。
  • 質の公理(Maxim of Quality): Truth 根拠のないことを述べない。嘘をつかない。
  • 関係性の公理(Maxim of Relation): Relevance 関係のないことは述べない。
  • 様式の公理(Maxim of Manner): Clarity 簡潔に理路整然と述べる。

芸人などはこの4つの公理を破ることで笑いを起こす。

私はSEをしているが、ビジネスコミュニケーションではこれらのコミュニケーションがとても重要である。例えば、リモート勤務でチャットベースの会話が多い中で、解決策を誰かに相談するときなど、量の公理(自分の試したことを全て伝えるなど)などが重要になってくる。

他にも、プログラムにおけるコメントにもこれら4つの公理が当てはまる。

  • 量の公理 : コメントが冗長かつ説明不足になっていない。
  • 質の公理 : 間違ったコメントはしない
  • 関係性の公理 : 無関係のコメントはしない
  • 様式の公理 : コメントが簡潔である

最後にcode craftにおけるコメントの書き方を貼っておく。

良いプログラマーは
少数の本当に優れたコメントを書くように務める
理由を説明するコメントを書く
大量のコメントを書くことよりも、優れたコードを書くことのほうに集中する
理にかなった有用なコメントを書く

悪いプログラマーは
優れたコメントとそうでないコメントの違いがわからない
方法を説明するコメントを書く
コメントが自分以外には理解できないものであっても気にしない
不適切なコードを支える目的で多数のコメントを書く
ソースファイルに冗長な情報(改版履歴など)を大量に盛り込む

Code Craft エクセレントなコードを書くための実践的技法

そのほかの原理

グライスの含意の理論以外原理として以下2つが挙げられる。私自身、言語学者でもなんでもないので紹介だけ。

丁寧さの理論(Politeness Theory)

イギリスの言語学者リーチが唱えた理論である。会話において聞き手は最小のコストと最大のメリットを、話し手は最大のコストと最小のメリットが与えられることを基本とする、という考え方。以下のように6つの公理がある。

  • 気配りの公理(Tact Maxim)
  • 寛大性の公理(Generosity Maxim)
  • 是認の公理(Approbation Maxim)
  • 謙遜の公理(Modesty Maxim)
  • 合意の公理(Agree Maxim)
  • 共感の公理(Sympathy Maxim)

ポライトネス規則

レイコフという人が考えた規則。

  1. 押し付けない(距離:Distance)
  2. 選択肢を与える(敬意:Deference)
  3. 聞き手の気分を良くする(連帯:Camaraderie)

おわりに

上記ではコメントの例を挙げたが、コメントだけでなく、仕様書や設計書なども同じである。ちなみに、余談だが、ビジネスにおいて、グライスの協調の原理を守ることは定石であろうが、個人的には、お笑いが大好きなので、どうでもいい無駄話や多様なツッコミを考えさせられるボケがとても大好きである(笑)

近頃、雑談タイムのように、仕事の話以外に世間話などを取り入れている組織も多い。人間は本来感情的な生き物なので、公理を守った論理的な会話だけでなく、エモーショナルな話をすることも、このご時世大切にしていくべきなのではないだろうか。

参考文献

会話の含意

協調の原理・丁寧さの原理、ポライトネスの規則 – ことばの世界

日英語比較によるコミュ二ケーションの理論から見る 丁寧表現に関する一考察

意味論・語用論

コメント

タイトルとURLをコピーしました