C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.86447 の関連記事表示

<< 0 >>
■86447  受け取ったパラメータから行う処理を判断するメソッドの命名
□投稿者/ かい -(2018/01/29(Mon) 22:29:27)

    分類:[.NET 全般] 

    お世話になっています。
    C#WPFを想定しますが、この質問は言語によらないと思っています。
    言語や環境によって慣習のようなものはあるかもしれませんが。

    掲題の通りです。
    switch文の長い総合案内のようなメソッドはよくあるものだと思いますが、
    一般的にはどう名付けるものでしょうか。
    私はreceiverかprocessorかなと想定しました。

    以上です。
親記事 /過去ログ148より / 関連記事表示
削除チェック/

■86448  Re[1]: 受け取ったパラメータから行う処理を判断するメソッドの命名
□投稿者/ よもやま -(2018/01/30(Tue) 04:05:20)
    No86447 (かい さん) に返信
    > お世話になっています。
    > C#WPFを想定しますが、この質問は言語によらないと思っています。
    > 言語や環境によって慣習のようなものはあるかもしれませんが。
    > 
    > 掲題の通りです。
    > switch文の長い総合案内のようなメソッドはよくあるものだと思いますが、
    > 一般的にはどう名付けるものでしょうか。
    > 私はreceiverかprocessorかなと想定しました。
    > 
    > 以上です。
    > 
    電子レンジからの想像で。。。
    ChangeCookingMode(int newMode) {
        switch(newMode) {
        }
    }
    メニュー変化
    ChangeMenu(int newMenu)
    
記事No.86447 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86449  Re[2]: 受け取ったパラメータから行う処理を判断するメソッドの命名
□投稿者/ ぶなっぷ -(2018/01/30(Tue) 09:16:22)
    > C#WPFを想定しますが、この質問は言語によらないと思っています。
    言語によらない例ということで、C言語によるWindowsプログラミング。
    想定しているのは、こんなコードかな?
    LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
        switch (uMsg) {
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
        case WM_CREATE:
            return InitializeWindow((CREATESTRUCT*)lParam);
        }
    
        return DefWindowProc(hwnd, uMsg, wParam, lParam);
    }
    
    この場合だと、Windowのメッセージと言うぐらいしか、まとまりのない case文 の羅列
    なので、メソッド名がWindowProc()でいいかなって(笑)
    
    そんな感じで、明確な命名規則というのは、この業界、未だに存在しない気がします。
    なので、自然な感じがする程度で良いと思います。
    
    ペットを育成するシミュレーションゲームだとして、
    次にペットに与える指示を送るメソッドなら、
      void CPet.メソッド名(指示内容, パラメータ)
      {
         switch(指示内容)
         {
           case えさやり:
             えさ((食べ物)パラメータ);
             break;
           case 散歩:
             散歩((場所)パラメータ);
             break;
           :
         }
      }
    みたいな感じでしょうか?
    どんなメソッド名にします?
    
    前述通り、正解はないけど、違和感のある不正解に近いものはあると思います。
    ペットに指示を与えるのが、このメソッドの目的だから、
      Command()とか、Operate()とか、Receive()とか、...
    ならよさげです。かいさんはReceiver()言っておられますが、やはり、C#のような
    オブジェクト指向型言語では、クラス名が名詞、メソッド名が動詞というのが基本
    だと思うので、Receiver()なら、Receive()が自然な気がします。
    
    あと、似たような感じで、Run()とかも思いつきますが、これ×です。
    なぜだか分かりますか?ペットなので、「ペットが走る」意味のRun()と紛らわし
    いからです。
    
    このようにソフトウェア化する対象に応じて、臨機応変に分かりやすいネーミング
    をするのが、今のところの回答だと思っています。
    
記事No.86447 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86450  Re[1]: 受け取ったパラメータから行う処理を判断するメソッドの命名
□投稿者/ furu -(2018/01/30(Tue) 11:38:02)
    No86447 (かい さん) に返信
    > 掲題の通りです。
    「受け取ったパラメータから行う処理を判断する」

    このメソッドは、判断した処理のポインタなりを返すまでなのかな。
    それならば、「コマンド解析」とか「処理関数取得」とかにするかな。

    それとも、処理もしてしまうなら、
    「コマンド実行」とか「ボタンクリック処理」とかにします。
記事No.86447 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86451  Re[2]: 受け取ったパラメータから行う処理を判断するメソッドの命名
□投稿者/ 774RR -(2018/01/30(Tue) 12:00:18)
    英語の単語として何が適切か?という話題であるとして

    処理を判断するなら dispatch (派遣する、特派する、割り振る)とか

    「デザインパターン」のどれかに従うことが可能な文脈ならそのパターン名つけるのが適切っしょ。
    ファクトリーパターンでインスタンス生成するとこなら factory とか

    そうでないときはセンスの問題になっちゃうよね。
記事No.86447 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86458  Re[3]: 受け取ったパラメータから行う処理を判断するメソッドの命名
□投稿者/ かい -(2018/01/30(Tue) 22:03:23)
    回答して頂き、ありがとうございます。

    誤解を招く題であったようで補足しますと、
    本メソッドはあくまで判断・呼び出しを行うものであり、
    処理そのものは行いません。失礼しました。

    皆様の回答を拝読し、学ばせて頂きました。
    今一度自分の実装を見直し、役割に応じた、違和感のない名称を考えます。
    (wpfなのでcommandは紛らわしいかもしれません、
    dispatchはよさそうですが非同期処理用の画面再描写メソッドに名前が似たようなのがあった記憶がありますね
    まあ考えさせて頂きます)

    こういった実装上よくある、形容し難い問い(ノウハウ?保守テクニック?分類がよくわからない)
    にお答えいただき幸いです。どこを見ても無いように思えるので。基本的な命名規則指南等は探せばありますが。

    以上です。
記事No.86447 のレス / END /過去ログ148より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -