エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

クラス名に無意味な文字列を使うことのメリデメ

クラス名に無意味な文字列

どういうことかと言うと、クラス名にIDを使っている。
例えば、意味はあるけど一文字の英字と連番とか。
B001とかがクラス名にしてあったりする。

メリット・デメリット

メリット

何かあるのだろうか?
思いつかない。
命名規約でそうするようにあっても、更に連番どうするかとか、区分が何を表すのか書かなければいけないので、単純に考えても作業量が倍になると感じるのだが。。。。
知っている人同士ではすぐに伝わる気がしないでも無いが、デメリットの方が大きい気がする

デメリット

  • 意味がわからない
    資料で説明しようが、クラス名をもとに処理内容を連想しづらい。
    そもそも、分かりやすいと思ってこんな命名にしているのだろうか?
    命名面倒だから安易にそうした感じがするのだが。

  • 新規参画者に伝わらない
    意味不明な呪文を唱えているとしか感じない。
    意思疎通にノイズが入り、チームとしての生産性が悪化する

  • チームをダメにする
    新規参画者に伝わらない繋がるが、意味不明な言葉が会話に交じることで、 生産性が落ちる。
    それが言葉に多用されると、開発者以外の人にも連鎖して悪化する。

  • 人にロックインしたシステムができる。
    これが一番ヤバイと思う。
    新規参画者の生産性が上がらない。
    また、長年いる人が抜けると生産性がガタ落ちする。
    それを理由に、長年居ることで飯が食えるならいいですが、そもそも、エンジニアとしてそんな特定の人しか分からないソフトウェア作るのはどうかと思う。
    それに、エンジニアが足元みて単価上げることもできるしね。
    利用する側も開発は分からなくても、命名には気をつけるべきだと思う。

命名は必要

意味不明な文字列ではなく、意味を持った命名は必要。
無意味な文字列をつけることは、自分の子どもに「人造人間18号」と付けるに等しい。

奴隷のような扱いをしていると、組織全体が疲弊するのでやめたほうがいい。

なぜ発生するのか?

惰性な気がしてならない。
誰か言うやつ居なかったのだろうか?
エンジニアの怠慢だと思いました。

メリットが分かりません!

いくら考えてもメリットが思いつかない。
クラス名を短くするために区分使うよりも、文字の略称の方が断然いいと思うんですよね。

否定的な意見だけ羅列したけど、本当に肯定的な意見が思いつかない。