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

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

C# と VB.NET の入門サイト

Re[2]: 【大至急】クラスについて教えてください


(過去ログ 92 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■54664 / inTopicNo.1)  【大至急】クラスについて教えてください
  
□投稿者/ あたまでっかち (1回)-(2010/10/28(Thu) 19:26:32)

分類:[C#] 

C#の初心者です。
以下のプログラムを作成してみました。(人数、テストの点を入力し、各区分に何人いるかをわける、というもの)
入出力と、処理部分を別クラスに分けたいのですが、どのように分けいいのかわかりません。
誰か教えてください!!!

また、別クラスに分けたい理由として、Nunitで処理部分のテストコードを作ってみたいです。
逆に、このままでもテストコードはできるのでしょうか?
テストコードもサンプルで教えていただけると、とてもありがたいです。参考に勉強したいです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
while (true)
{

int n = int.Parse(Console.ReadLine()); //人数を入力

if (n == 0) //0入力で終了
break;

int[] count = new int[4];
for (int x = 1; x <= n; x++)
{
int score = int.Parse(Console.ReadLine()); //点数を入力
if (score < 25)
{
count[0] = count[0] + 1;
}
else if (score < 50)
{
count[1] = count[1] + 1;
}
else if (score < 75)
{
count[2] = count[2] + 1;
}
else
count[3] = count[3] + 1;
}


for (int i = 0; i < 4; i++)
{
System.Console.WriteLine(count[i]);
}
}
System.Console.ReadLine();

}
}

}
引用返信 編集キー/
■54674 / inTopicNo.2)  Re[1]: 【大至急】クラスについて教えてください
□投稿者/ Azulean (630回)-(2010/10/28(Thu) 23:18:23)
大至急なんて掲示板に書いている暇があったら、知っている人を捕まえるべきでしょう。
掲示板やフォーラムというものは、時間がある人が時間があるときに回答するものであって、”至急”という求めに応えるものではありません。

No54664 (あたまでっかち さん) に返信
> C#の初心者です。
> 以下のプログラムを作成してみました。(人数、テストの点を入力し、各区分に何人いるかをわける、というもの)
> 入出力と、処理部分を別クラスに分けたいのですが、どのように分けいいのかわかりません。
なぜ、別クラスなんでしょうか?
別クラスという前に、別の関数(メソッド)に切り出すところからだと思います。

・入力は何か、出力は何かは整理できていますか?(文章には表れていそうですが)
・入力をメソッドの引数、出力をメソッドの戻り値にできるように整理できますか?
・整理した結果のメソッドを見て、クラスに切り出すべき理由は見えてきますか?


> また、別クラスに分けたい理由として、Nunitで処理部分のテストコードを作ってみたいです。
別クラスに分けた・分けないによって、NUnit でテストできる・できないにはならないような気がする。


> 逆に、このままでもテストコードはできるのでしょうか?
難しいのでは。
入力がコンソール依存ですから、テストクラスからは扱いづらいでしょう。
入力を引数から与え、出力を戻り値から得られるメソッドであればテストしやすいかもしれません。


> テストコードもサンプルで教えていただけると、とてもありがたいです。参考に勉強したいです。
検索してみました?
引用返信 編集キー/
■55118 / inTopicNo.3)  Re[2]: 【大至急】クラスについて教えてください
□投稿者/ あたまでっかち (2回)-(2010/11/17(Wed) 12:53:33)
No54674 (Azulean さん) に返信
> 大至急なんて掲示板に書いている暇があったら、知っている人を捕まえるべきでしょう。
> 掲示板やフォーラムというものは、時間がある人が時間があるときに回答するものであって、”至急”という求めに応えるものではありません。
>
> ■No54664 (あたまでっかち さん) に返信
>>C#の初心者です。
>>以下のプログラムを作成してみました。(人数、テストの点を入力し、各区分に何人いるかをわける、というもの)
>>入出力と、処理部分を別クラスに分けたいのですが、どのように分けいいのかわかりません。
> なぜ、別クラスなんでしょうか?
> 別クラスという前に、別の関数(メソッド)に切り出すところからだと思います。
>
> ・入力は何か、出力は何かは整理できていますか?(文章には表れていそうですが)
> ・入力をメソッドの引数、出力をメソッドの戻り値にできるように整理できますか?
> ・整理した結果のメソッドを見て、クラスに切り出すべき理由は見えてきますか?
>
>
>>また、別クラスに分けたい理由として、Nunitで処理部分のテストコードを作ってみたいです。
> 別クラスに分けた・分けないによって、NUnit でテストできる・できないにはならないような気がする。
>
>
>>逆に、このままでもテストコードはできるのでしょうか?
> 難しいのでは。
> 入力がコンソール依存ですから、テストクラスからは扱いづらいでしょう。
> 入力を引数から与え、出力を戻り値から得られるメソッドであればテストしやすいかもしれません。
>
>
>>テストコードもサンプルで教えていただけると、とてもありがたいです。参考に勉強したいです。
> 検索してみました?
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -