ほのぼの開発メモ

AILight Blogs
@IT:ITエンジニアにも必要な国語力(第1回 名前にとことんこだわるべし)を読んでみましょう。
耳が痛い人・・・たくさんいるのでは??
# そう、TechEdのINETAJイベントで笑ってしまった人の中にも・・・

メソッド名、クラス名、変数名・・・アプリケーションやライブラリの名前。
ものを作っていると、どうしても色んなものの名付け親になると思います。
そこで、「あー、これでいいや。」とかいいかげんな直感で名前をつけると、とんでもないことになります。

でもね、でも・・・1つ1つの名前を考えてしまうときりがなくなってしまうんですよ。。。(涙)
(いや、それがここで指摘されてる「国語力のなさ」なんだろうけど。)
名前考えるのって、楽しいんですけどね。
「こういうクラス追加しようか・・・このときに、こうなって・・・これで・・・」
「名前、何にしましょうか?」
「んー・・・これをこれする人だからなぁ・・・」
「じゃあ、○○○??」
「え?××って○○でいいの?英語で。」
「(辞書で調べてみる)・・・んー・・・ちょっと微妙かも・・・」
こんなやりとりが長いこと続くのです。完全に設計フェーズならいいんですけど、開発してるときにほしくなったクラスとかが出てきちゃうと・・・時間がもったいないというか、なんというか・・・
そもそも、設計がカンペキならそんなこと無いのかもしれませんが。orz
投稿日時 : 2005年8月10日 11:18
コメント
  • # re: 名前にこだわろう!
    福王寺聡明(FP!)
    Posted @ 2005/08/10 13:00
    こんなのをプログラミング版で作ったら売れるかなぁ・・・。

    http://www.amazon.co.jp/exec/obidos/ASIN/4262125343/qid=1123646326/sr=1-1/ref=sr_1_8_1/249-6808456-4362709
  • # re: 名前にこだわろう!
    中博俊
    Posted @ 2005/08/10 13:04
    変にANKにこだわるからでしょ?
    日本語でいいじゃん。
  • # re: 名前にこだわろう!
    みゃみゅ玉子
    Posted @ 2005/08/10 13:05
    ありそうですけど・・・無いのかなぁ・・・?
    あったら売れるかもしれません。(笑)
    「こんな名づけかたはダメだ!」
    みたいなのでも可・・・?
  • # re: 名前にこだわろう!
    菊池
    Posted @ 2005/08/10 14:51
    >そもそも、設計がカンペキならそんなこと無いのかもしれませんが。orz

     設計が名前を決めるかどうかは設計と実装の境界線としてどちらにもできますが…

    >「んー・・・これをこれする人だからなぁ・・・」

     これは微妙な考え方です、FileをAccessするからFileAccesなんてメソッドが入ってる伝票処理クラスを見たことがありますがカプセル性を完全に破壊しています。
     クラスを使う側は伝票を処理したいのであってファイルをアクセスしたいとは思っていないのですのでFileAccessを呼ぶ理由は有りません。

     クラスが表現しているhogeに対する論理的な意味として、hageするのであれば Hage() でしょう。
     メソッドの内部動作を元に名前をつけてはいけません。

  • # re: 名前にこだわろう!
    なちゃ
    Posted @ 2005/08/10 17:00
    SomeMethod(string a)
    SomeMethod(string a, string b)
    SomeMethod1(string c)
    SomeMethod2(string d)
    SomeMethod(string c, string d, string e)

    なんて流れの命名を見たときにはどうしてくれようと思いましたわ!!
  • # re: 名前にこだわろう!
    なちゃ
    Posted @ 2005/08/10 17:04
    > メソッドの内部動作を元に名前をつけてはいけません。
    これやる人が多いんですよね…
    論理的な、抽象的なレベルで名前を付けられない人が多い。
    というか、どこから内部動作でどこから外部インターフェイスと見るかという切り分けが出来ないというか、そもそもそんな切り分けなんてないというか。

    まあ、現実を見ると、ちゃんとやってる内容の名前になっているだけで感動してしまうようなものが多いんですが…orz
  • # re: 名前にこだわろう!
    みゃみゅ玉子
    Posted @ 2005/08/11 11:17
    >中さん
    そうなんですよね。
    日本語にすれば・・・
    ・・・・その日本語すら・・・orz

    >菊池さん
    使う側から見て、「結局、何をしてくれる人なの?」ということで良いんですよね?
    # FileAccessは、わかりづらすぎますね・・・(涙)
    # Accessで終わるのかと思ったら、伝票処理もしてるなんて誰がわかるんだろう・・・???

    たまーに、作る側から見てしまって、失敗することがあります。。。
    「これして、これして、これするから・・・ああ、これでいいか」
    ・・・後から見たら「なんで、この名前でこれまでやってるんだよ!!」と自分で突っ込んでいたり。orz
    気をつけないと・・・

    >なちゃさん
    >SomeMethod(string a)
    >SomeMethod(string a, string b)
    >SomeMethod1(string c)
    >SomeMethod2(string d)
    >SomeMethod(string c, string d, string e)

    すごい!(笑)
    これで人に説明できるのだろうか・・・?
    前にコメントで
    「処理内容:いろいろやる」
    っていうのを見たことありますが、それに近いものがありますね。
  • # re: 名前にこだわろう!
    なちゃ
    Posted @ 2005/08/11 13:25
    あ、ちょいと語弊があったかも。
    SomeMethod部分は、例えばGetDataだったりするわけです。
    ※それでも十分ひどいんですが。

    で、GetDataするメソッドが増えていくときに、上のような流れで新しい名前が付いていくわけです。
  • # re: 名前にこだわろう!
    じゃんぬ
    Posted @ 2005/08/16 22:00
    GetData も、Class 名で "何" が示されているので、
    Value クラスの場合ならあんまり問題にはならない希ガス。
    それ以外何も入ってないわけですし。
  • # re: 名前にこだわろう!
    Array
    Posted @ 2006/09/29 2:21
    Array
  • # re: 名前にこだわろう!
    Array
    Posted @ 2006/09/29 4:43
    Array
タイトル  
名前  
Url
コメント