分かりやすい名前?
最近、割とよく、
- 機械的な連番の名前は生産性が劣り、分かりやすい名前は生産性が向上する
とかの記事を見ます。
確かにCOBOLなんかだと、
- ある日付:ABC001
- ある日付の年、月、日:ABC0011、ABC0012、ABC0013
とかやっていました。半角英数8文字のABC001を4文字、2文字、2文字で切って使う、と言う趣向になります。
確かに、普通に聞いていれば「機械的な連番より、分かりやすい名前の方が生産性が向上しそうだな〜」と思うとは、私も思います。
昔のエピソード
昔、Delphi言語(Pascal言語の改良版で、オブジェクト指向っぽい文法も入っているが、インターフェースが無く、特定のインターフェースの実装を強制するとかは出来ない)での開発で、5人くらいのチームのお手伝いで1人加わった事が有りました。
私は、その言語のモジュールを受け取り、画面のIDを.incファイルに登録して、ビルドする役だったので、お手伝いでした。
普通に分担したモジュールを作っていたのですが、
ある時、リーダーの人に「お前の作ってるプログラムの名前が分からない」と言われ、「どうしたら良いでしょうか?」と尋ねても、
「察しろよ!」的な事しか言いませんでした。
その時はスーパーラッキーで、元請け側の人間だったので、上司に「訳が分からなくなりました。別の仕事に行かせて下さい」が効き、
平穏に立ち去る事が出来ましたが、そういう立場で無かった場合、非常に困った事になったと思います。
分かりやすい名前と言うのは、
- 人を追い払うツールになり、
- しかもその責任を追い払われた人に被せやすい
と言う性質が有ると、(心の底から)思います。
絶対的真実
プログラミングは、
- 一人か
- 仲のいい相棒と二人
とかで作る方が絶対に生産性が良いです。これは三国四海どんな立場、人種、信条の人でも、特に異論は無いと思います。
分担して作るのは、間違い無く生産性が下がります。
とすると、
とすると、「機械的な連番より、分かりやすい名前の方が生産性が向上しそうだ」と、軽々に決めつけて良いのか、心配にならないでしょうか?
なりますよね?
分かりやすい名前は、
- 人を追い払うツールになり、
- しかもその責任を追い払われた人に被せやすい
ので、実質、
- 一人か
- 仲のいい相棒と二人
とかで作るのと同等になり、その体制は追い払われた人の責任であり、故に、生産性が良くなるとは考えられないでしょうか?
さらに、
さらに、名前を付けやすいプログラミングの部分とそうでない部分が必ず出来、書籍などで紹介する場合は、付けやすい部分のみ記述し、
追い出したい人間にそうで無い部分を割り当て、
名前を分かりやすく付ける能力が客観的に欠けるとして追い払う事も出来ます。
根本的には
根本的には、
- 全てのプログラムの部分に、分かりやすい名前をつける事は原理的に可能なのか
誰も証明していない🔥のが大問題です。
それが証明されていないのに、それを強いるのは横暴で、少し立ち止まって考える必要もあると、思います。
結論
名前なんて、区別がつけば良く、もっと言うなら、いて座や水瓶座の様に領域を大まかに区切るだけでも良い様にも思うのですが、そうで無い人がいるのも事実です。
これからも「まともな名前をつけさせてくれず、意味がわからない」事でプログラミングが嫌いになる人は存在し続けることでしょう。