2

次の例のように、互いに参照しているメソッドがたくさんあるのは悪いことですか?

public void MainMethod()
{
   GetProducts();  
}

public void GetProducts()
{
   var _products = new Products();
   var productlist = _products.GetProductList;
   GetExcelFile(productlist);
}

public void GetExcelFile(List<product> productlist)
{
   var _getExcelFile = new GetExcelFile();
   var excelfile = _getExcelFile.GetExcelFileFromProductList(productlist);

   //create excel file and so on...
}

そのため、小さなアクションごとに新しいメソッドを作成しています。GetProductsそのメソッドでアクションを呼び出して実行するのMainMethodと同じくらい簡単allですが、それは再利用可能なコードを作成する方法ではないと思います。

以下は、メソッド内のステートメントが 7 つを超えてはならないことを示しています。

メソッド内のステートメントは 7 つだけ

したがって、最小限のコードでメソッドを使用する利点は次のとおりです。

  • コードは再利用可能
  • すべてのタスクは独自のメソッドを取得できます

最小限のコードでメソッドを使用することの欠点:

  • スパゲッティコードみたい
  • 次が得られます: refer to refer など

私の質問:

メソッドを大きくする必要がありますか、それともほとんど機能せず他の多くのメソッドを参照する小さなメソッドを作成し続ける必要がありますか?

4

4 に答える 4

3

ガイドラインは正しい。メソッドは小さくする必要があり、各操作に独自のメソッドだけでなく、明確に定義された名前を付けることで正しいことを行っています。これらのメソッドに明確な名前、1 つの責任、明確な意図がある場合 (そして、コマンドをクエリから分離することを忘れないでください)、コードはスパゲッティにはなりません。その上で、ニュース記事のようにメソッドを並べるようにしてください。最も重要なメソッドをファイルの上に、最も詳細なメソッドを下に配置します。このようにして、他の人は最初から読み始めて、退屈になったら (または十分な情報が得られたら) 読むのをやめることができます。

Robert Martin の Clean Code のコピーを入手することをお勧めします。これを彼ほど明確に説明する人は業界にいません。

于 2013-08-26T09:29:51.373 に答える
-1

これは主に意見に基づく質問ですが、1つだけ教えてください。

複数の場所からメソッドを使用しない場合は、そのためのメソッドを作成しない方がよい場合があります。

わかりやすくするために領域を使用できます。また、ページ全体よりも大きいメソッドが必要ない場合もありますが、2 ~ 3 個のコマンドごとにメソッドを取得する必要はありません。

于 2013-08-26T09:29:27.450 に答える