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

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

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

Re[6]: C#のコーディングスタイルについて


(過去ログ 28 を表示中)

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

■13428 / inTopicNo.1)  C#のコーディングスタイルについて
  
□投稿者/ どんべぇ (1回)-(2008/01/29(Tue) 15:04:49)

分類:[C#] 

C#を始めたばかりの初心者なのですが
C#のコーディングスタイルについて質問があります。
利用するコントロールを Form1に貼り付けて利用する
スタイルと、Form1の外観には全く手を付けず全て
コードで書くスタイルがあると思います。

作業時間は明らかにフォームにコントロールを貼り付
ける方が早いと思うのですが、ならばコードで書く事
にはどのようなメリットがあるのでしょうか?

ぱっと思いつくのはコードならばコピペで他のプロジ
ェクトで簡単に再利用できることかなと思うのですが
それ以外にも何かメリットがありますか?
引用返信 編集キー/
■13431 / inTopicNo.2)  Re[1]: C#のコーディングスタイルについて
□投稿者/ επιστημη (805回)-(2008/01/29(Tue) 15:13:02)
επιστημη さんの Web サイト
2008/01/29(Tue) 15:13:19 編集(投稿者)
> 作業時間は明らかにフォームにコントロールを貼り付
> ける方が早いと思うのですが、ならばコードで書く事
> にはどのようなメリットがあるのでしょうか?

ボタンをひとつふたつ貼りつけるんならフォームにぺたぺた貼るでしょね。
ほとんどの場合これでおっけぇです。

100個のボタンを10x10のマス目状に配置し、
配列 button[x,y] でアクセスしたいとなれば僕ならコード書きます。

for ( int x = 0; x < 10; ++x ) {
  for ( int y = 0; y < 10; ++y ) {
    Button btn = new Button();
    button[x,y] = btn;
    btn.Location = new Point(x*..., y*...);
    ...
  }
}

残念ながらフォーム・デザイナではこんな気の利いたコード吐いてはくれませんからね。

引用返信 編集キー/
■13433 / inTopicNo.3)  Re[2]: C#のコーディングスタイルについて
□投稿者/ どんべぇ (2回)-(2008/01/29(Tue) 15:52:35)
επιστημη さん コメントありがとうございます。

> 100個のボタンを10x10のマス目状に配置し、
> 配列 button[x,y] でアクセスしたいとなれば僕ならコード書きます。

確かにおっしゃる通りですね、デザイナでやると日が暮れそうです
それ以外ではコードで書くメリットや必然性はないと考えれば良いので
しょうか?


引用返信 編集キー/
■13434 / inTopicNo.4)  Re[3]: C#のコーディングスタイルについて
□投稿者/ επιστημη (806回)-(2008/01/29(Tue) 16:02:41)
επιστημη さんの Web サイト
> それ以外ではコードで書くメリットや必然性はないと考えれば良いのでしょうか?

いやだからフォームデザイナでコントロールを貼り付けるのと
"どっちが楽か"あるいは"ツブシが効くか"を「あなた」が判断するこっちゃないでしょか。

この例でコードの方が楽なのは僕がプログラマだからです。
コードさっぱり書けないヒトには苦痛でしかない。デザイナで100個置く方が簡単です。
なにがメリット/デメリットかはヒトに依るんじゃないかしら。

フォームデザイナではできないこと(コントロールを動的に配置するとか)を
コードで補完してあげることだってありますし。
# こっちは必然性のおはなしね。
引用返信 編集キー/
■13436 / inTopicNo.5)  Re[3]: C#のコーディングスタイルについて
□投稿者/ Hirotow (160回)-(2008/01/29(Tue) 16:28:09)
ほかの例として、
・メニューやツールバーなどを動的に生成する場合。→「最近使ったファイル」など
・オーナードローを行う場合。
・タブコントロールにドキュメントを開く場合。
・デザイナのバグでコードを書かざるを得ないとき。
・コントロールをコレクションとして扱いたいとき。
などがあります。
しかしながら、極力デザイナで設計し、見通しを良くしておいたほうがベターかと思います。
上記のえぴさんの例も、10行×10列のTableLayoutPanelを作っておけば、いちいち座標を設定しなくても半自動的に配置してくれます(.NET2.0以上のみ)。
引用返信 編集キー/
■13439 / inTopicNo.6)  Re[4]: C#のコーディングスタイルについて
□投稿者/ どんべぇ (3回)-(2008/01/29(Tue) 17:00:44)
επιστημη さん 重ね重ねありがとうございます。

>>それ以外ではコードで書くメリットや必然性はないと考えれば良いのでしょうか?
>
> いやだからフォームデザイナでコントロールを貼り付けるのと
> "どっちが楽か"あるいは"ツブシが効くか"を「あなた」が判断するこっちゃないでしょか。

そうなんですが、、デザイナで楽してると後でこんな場合に泣きを見るとか
とりあえずデザイナでコントールを貼り付けて細かい事はコードでやればい
いとか・・・
あるいは、プロを目指すなら全部コードで書くべし、とか
逆に C#で全部コードはナンセンスだ、とか

そのあたりの判断材料が欲しくて質問させて頂きました。

質問の発端は、隣に同僚のプログラマがいるのですが、わたしはコード
で書いた方が再利用しやすい思っているのでコードで進めたいと思って
いるのですが
同僚は貼り付けで済むところまでコードで書くと C#のメリットが半減
すると主張しています。
もちろんケースバイケースである事は間違いないのですが、何か割り切れ
ないというかモヤモヤしたものですからどう考えたらよいモノかなと考え
ました。




Hirotow さん コメントありがとうございます。

とても参考になりました。

引用返信 編集キー/
■13441 / inTopicNo.7)  Re[5]: C#のコーディングスタイルについて
□投稿者/ επιστημη (807回)-(2008/01/29(Tue) 17:16:28)
επιστημη さんの Web サイト
> そうなんですが、、デザイナで楽してると後でこんな場合に泣きを見るとか
> とりあえずデザイナでコントールを貼り付けて細かい事はコードでやればいいとか・・・

原則デザイナ。
デザイナでぎこちなさを感じたときはお試しフォームを用意して
コードで実装し、楽だと実感できればコードでやります。

あとあとの楽さ加減を考えればその程度の手間はどってことねぇです。

引用返信 編集キー/
■13443 / inTopicNo.8)  Re[6]: C#のコーディングスタイルについて
□投稿者/ どんべぇ (4回)-(2008/01/29(Tue) 17:20:18)
επιστημη さん

> 原則デザイナ。
> デザイナでぎこちなさを感じたときはお試しフォームを用意して
> コードで実装し、楽だと実感できればコードでやります。
>
> あとあとの楽さ加減を考えればその程度の手間はどってことねぇです。

とても参考になりました。
ありがとうございました!
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -