チームメンバーの子路(しろ)がプログラマー孔子に尋ねました
「衛PMが先生をお迎えして炎上を収めるとしたら、先生はまず何をなさいますか?」
プログラマー孔子は、
「まず変数名を正すつもりだ。」
と答えられました。それを聞いた子路が、
「これだから先生は、本当に遠回りがお好きですね。どうして変数名を正す必要がありますか?」
と言ったので、孔子は
「名が正しくなければ変数も関数もメソッドもクラスも順当ではなく、変数も関数もメソッドもクラスも順当でなければ進捗もあがらず、進捗があがらなければ設計やリファクタリングも盛んにならず、設計やリファクタリングが盛んでなければ炎上もぴったり収らず、炎上がぴったり収らければチームメンバーは{心理的安全性が無くて}キーボードとマウスの置きどころもなくなる。だからプログラマーは正しい名をつけたらきっとコードで伝わるし、コードで伝わったらきっと炎上が収まるようにする。プログラマーは自分の名付けについては決していいかげんにしないものだよ。」
漢文
子路曰、衛君待子而爲政、子將奚先、子曰、必也正名乎、子路曰、有是哉、子之迂也、奚其正、子曰、野哉由也、君子於其所不知、蓋闕如也、名不正則言不順、 言不順則事不成、事不成則禮樂不興、禮樂不興則刑罰不中、刑罰不中則民無所措手足、故君子名之必可言也、言之必可行也、君子於其言、無所苟而已矣。
現代語訳
名が正しくなければことばも順当でなく、ことばが順当でなければ仕事もできあがらず、仕事ができあがらなければ儀礼や音楽も盛んにならず、儀礼や音楽が盛んでなければ刑罰もぴったりゆかず、刑罰がぴったりゆかなければ人民は{不安で}手足のおきどころもなくなる。だから君子は名をつけたらきっとことばで言えるし、ことばで言ったらきっと実行できるようにする。君子は自分のことばについては決していいかげんにしないものだよ。(『論語』(岩波文庫)金谷治訳注)
リーダブルコード
- 2章 名前に情報を詰め込む
- 3章 誤解されない名前
ポエム
現代のプログラマーは、昔だったらどんな仕事をしていたか考えていたのですが
ふとリーダブルコードと論語がひらめいて
春秋戦国時代の諸子百家みたいな人達だったかもしれないと思いました