New Horizon

もういっちょ。そのMさんと立てたCのコーディング規約は以前書いたとおりで、今度それを使うと言い出した連中が居る。規約では昨今の慣習を拝借し、関数(メソッド)名は原則として英語の原型動詞から始めた命令文風にしようと決めている。そのときにも書いたけれど、これは英語に合わせるとかいうよりも、むしろ英語ヘタレ(英語ができないのではなくて、こわい)でかつろくなコメントも書けない連中が、少しでも理解できるコードやコメントを書けるように採用した。1バイト読む関数は

unsigned char read_byte();

と書けば、コメント無しでも読める。コメントをつける場合でも、この関数名と義務教育で知った英文法があれば

/* Reads a byte (from stream).

くらいはすぐ書けるでしょ。まあ主語つけてもいいけど、こういう場合は略すのがわりと通例。主語が関数なのは大体わかるし、流れとしてシンプルで読みやすい。ただ動詞が原型だと、ぱっと見が命令口調になるので、三単現にする。そうすると最初の動詞を見ただけで関数を説明しているとわかる。このへんはJavadocからもらった。
さてさて、そんな規約を使うと言い出した連中、言った舌の根をびっしょり濡らしてMさんに怒りメールを送ってきた。

関数名のつけ方がわかりません。
説明にあった関数ならいいのですが、私のプログラムではデバイスFOOのレジスタを初期化し、
かつ可能ならステータスを読み込みます。だから私はregi_FOO_ini_r()としています。
これをどうやって書けばいいんですか。

割とこういうとき、Mさんはクールビズな対応をする。伊達に洒落たポロとか着てないのである。岡本太郎Tシャツ着て「岡カジ」なんて言うてるさいとうとはえらい違いだ。

お世話になっております。

> regi_FOO_init_r()
initialize_FOO_register()でいいのではないですか。

>かつ可能なら初期ステータスを読み込みます
関数read_status()に分ければいいのではないですか。inline展開されますし。
どうしてもできないならreset_FOO_status()でもいいでしょう。

実際のメールは見てないのででっちあげだが、まあそういうことを言ったんだと。
お返事到着。

> initialize_FOO_register()でいいのではないですか。
今回は、それはそうですが、もっとちゃんとした例をください。

えええええええええ。中学生の英文法なのにー。