カテゴリー
社会

ワードプレスのソースコードから8年間懸案の変数名「おしっこ」が除去

ブログツールとして世界中の多くのサーバで使われている WordPress のソースコードの、数限りなくある中のちょっとした修正は、変数名の”pee”と”tinkle”を書き換えるというものでした。


-442 function wpautop( $pee, $br = true ) {
+442 function wpautop( $text, $br = true ) {

wpautop()という関数は、ブログ記事のテキストに2行以上の改行があった時、それを<p>タグに置換する、という働きをします。

「WordPress(wp) が自動(auto)で p(タグ)をつける」といったあたりから命名された関数だろうと思いますが、WordPress の歴史は長いのでこの関数も昔から存在していたようです。

それで、この関数を書いた誰かは「オートでPする」の響きからの連想か、引数名に $pee(しっこ、幼児語)を使う言葉遊びをしてしまったようですね。

その後のどこかの時点の修正で $pees をループで一つずつ処理する際に、取り出す変数を $tickle (こちらも しっこ、幼児語)が使われています。

# tinkle というとリトルスターぐらいしか連想しませんが、そんな意味もあるんですね。

WordPress の公式バグ管理システムからは、8年前のチケットで初めてこの二つの変数名についての指摘がなされたことがわかります。

8年前は lead developer らから「単なるプログラマージョーク」「ユーモアを消すことはない」などと相手にされなかったようですが、3か月前にチケットが再オープンされ、今回は修正するということになったようです。

コードの差分を見るとわかるように、大量に修正箇所はありますが基本的に変数名と関数名の置換がほとんどです。$pee は #text に置き換えられていて、たしかに $pee よりはこれが何を保持しているのかわかります。

今回修正が通った際の core committers の反応は、「ワードプレスの成長に応じて、コード中のジョークやユーモアに対する耐性は減っていると思われる」「より多くの人をインクルーシブに受け入れることは重要」といったようなもの。

まとめると

  • 英語圏の人にしかわからないジョーク
  • 変数には変数の役割を表す名前を付けた方がコードを読む人の助けになる
  • 不快な人もいるならユーモアで済ませられない

といったあたりでしょうか。「個人としては気にしない/好きだが WordPress がこのことで避けられると困る」みたいな人もいるかもしれません。

時代の変化かもしれませんし、8年前の却下が妥当だったか、今回の修正が妥当だったかも人によって意見はわかれるかもしれません。ソースコードやコメントで遊ぶというのはプログラマーなら身に覚えのある人は多いと思いますが、完成品ではなくコード自体が広く配布される場合、遊んだ内容が誰かを不快にするものではないかという意識もあったほうがいいんでしょう。

WP Tavern via reddit/programming