見出し画像

『論語』正名論から考えるシステム保守

(本を読んだ感想として書いているだけであり、論語理解の正当性は保証しません。悪しからず)


コーディングにおける命名

よく知られているように、コーディングにおいて命名は非常に大切な問題であるとされている。変数名やメソッド名など、様々な名前に対してよりよい名前をつけることが重要である。

コードは理解しやすくなければいけない。これがコードを書く上でいちばん大切な原則だ。

リーダブルコード―より良いコードを書くためのシンプルで実践的なテクニック
(Dustin Boswell,Trevor Foucher 著)

わかりづらい設計や名前はデータベースの破綻の始まり

失敗から学ぶRDBの正しい歩き方
(曽根壮大 著)

先日、『中国哲学史-諸子百家から朱子学、現代の新儒家まで』という新書を読んだ。そこで紹介されている『論語』の正名論はこうした命名についての話をしていると感じた。

正名論

子路曰:「衞君待子而爲政,子將奚先?」子曰:「必也正名乎!」子路曰:「有是哉?子之迂也!奚其正?」子曰:「野哉,由也!君子於其所不知,蓋闕如也。名不正,則言不順;言不順,則事不成;事不成,則禮樂不興;禮樂不興,則刑罰不中;刑罰不中,則民無所措手足。故君子名之必可言也,言之必可行也。君子於其言,無所苟而已矣。」

論語

孔子に弟子が政治はまず何をすべきか?と質問した。孔子は”名を正す”ことだと答える。それに対し弟子はなぜ?迂遠では?と聞き、孔子は返す。名前が不正だと言葉の意味が通らない。言葉の意味が通らなければ仕事ができない、刑罰も公平さを欠いて、民は途方に暮れる。君子は名を実を伴うようにしなければならないし、名を慎重に扱わなくてはならないのだ、と。

名は実(実体/実践)を伴うようにしなければならない=”名実一致”を主張している。実の伴わない名前は人間やシステムにとって何が正なのかわからなくしてしまうため、国を混乱させる。

また、弟子は孔子の言葉に「それは迂遠ではないか?」つまり「何か行動すべきでは?」と言ったため、孔子に「野蛮だな!」と返される。孔子は春秋戦国時代という戦乱のなかで、力ではなく言葉による統制を主張した、とされている。

名実一致

力は"行動(実践)それ自体"によって自身の正当性を主張する。「私たちの行動は正しい。故に結果が出れば皆私たちの正しさがわかるはずだ!」

一方で"名実一致"は正しい実践とは何かを論じていない。「お前が何を主張しようと自由だが、ただただ問題なのは、お前の言っていることとやっていることが一致していないことだ!」

孔子がここで正しい実践内容について論じないのは、おそらく世の正しさが移ろいゆくことを前提にしているからだろう。正名論はそんな前提の中で秩序をつくる方法について述べているのだと思う。

システム保守という正名

ある時点での正しさは常に正解ではないし、しかしある時点での正しさが常に間違っている訳でもない。名と実は乱れゆくので、新しい秩序の確立のため、実が伴うように名の修正を、名に合わせて実の修正を繰り返し続ける。

これってまさにシステム保守ではないか、とぼくは経験的にも感じる。コーディングがリファクタリングという形を伴うのでいちばんわかりやすいが、ユビキタス言語といった話を考えればシステム全般で発生することである。

正名に終わりはない。しかし保守とはそういうものだろう、と。力を為すことではなく、秩序を為すこと。これを意識した方が良いのだろうと改めて思う。

この記事が気に入ったらサポートをしてみませんか?