アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり
NGワード (スコア:0)
いくつかの駄目な単語ってのがきっとありますね。
私が退場願いたいと思う筆頭の単語は
●管理
●情報
です。
「Hogehoge管理」関数(とかテーブルとか)という名前の奴は
「管理」をはずして「Hogehoge」だけにすべきです。
「情報」も同様。
何故かって、そりゃ、管理とか情報とかってのは「いうまでもない」からです。ソフトで扱ってるからにゃ「管理」の対象であるのは当然だし、「情報」であるのも大抵当然でしょう。
英語名(物理名)や略語もですよ。InfoとかMngと
Re: (スコア:1, 興味深い)
Hogehogeの実体と、その情報のみを収めたものと、複数のHogehogeを管理するもの全てにHogehogeって付けるの?
私だったらHogehoge / HogehogeInfo / HogehogeManagerみたいに使い分けるけどなぁ。
Re:NGワード (スコア:0)
まず「それは分けすぎ」である可能性を考慮したほうが良いと思います。
たとえばBuilderやFactoryなんてものは、
システム上に1つしか存在しないならClassそのものがやるべきで、
それがやりにくい(Javaのような)言語は開発向きではないのです。
複数あるなら当然ですがそれぞれに区別可能な名前がつくから問題ないし。
次に。「情報のみを収めたもの」って何でしょう?「実体」とどう違うのでしょう?
そのまんまじゃないでしょうか?だとすれば分ける意味がなさそうです。
そのまんまじゃないのだとすれば、それは多分、
頭の中での「のみを収めた」とか「実体」とかいう言葉(概念)の使われ方が曖昧なのだと思います。
まずはそこを整理してみることをお勧めします。
命名規約を考えるってのは、命名の背後のものの考え方まで整理する、よい機会です。
次。「管理」って何でしょうか?
得てしてそこには管理と呼べそうな色々な機能がごたまぜに投入されがちです。
そういう設計が怖いからこそ「管理」は禁止したいのです。
管理の内容を分類して、コンテナならコンテナ、変換ツールなら変換、などなどといったそれぞれのものを用意すればいいと思います。
よく聞く意見が「これって管理としか呼びようがないんだよね」って意見。
そういう意見を言う状況に陥ったことが既に設計の不味さを示唆しています。ご用心を。
Re: (スコア:0)
Hogehogeクラスはアクセッサ+α程度の簡易なクラスで、
ロジックはHogehogeManagerに持つんじゃないでしょうか。
マーチンファウラーの言うt「ドメインモデル貧血症」の典型パターンであり、
OOPの原則である「データとロジックの融合」に反するモデルではありますが、
規模が大きくなれば自動生成で楽できる部分もかなりあるし、エンティティの
変更にも強くなります。
#見やすいプログラムになるかどうかは結局のところルールより担当者のスキルですけどね
Re: (スコア:0)
>ロジックはHogehogeManagerに持つんじゃないでしょうか。
「ロジック」と呼んでるのに
なんで「Logic」じゃなく「Manager」という
新しい(しかしそれ自体に何の"意味"もない)単語を
導入する必要が有るのかが、ちょっと不思議です。
よしあしはさておき Web MVC2 連中のあいだでは、
そういうクラスはそれこそHogehogeLogicと命名する
という文化なんじゃないでしょうか?
ところでついでですが、
個人的にはLogicもあまり好きな単語ではないです。
というか「ビジネスロジック」という言葉じたいサ