こんにちは、ブロック化の必要性が理解できないSEもどきですw
皆さんは使ってますか?
と、さも開発職の人がこのブログに来てるような書き出しですが、個人的に、このブロック化、使いづらいんですよね。
上手い使い方とかあれば、教えてください。
マジで。
ブロック化って何?
Visual Studio特有のものなんでしょうか?
#region ボタンクリック処理 private void button1_Click(object sender, EventArgs e) { view_messagebox(1); } private void button2_Click(object sender, EventArgs e) { view_messagebox(2); } private void button3_Click(object sender, EventArgs e) { view_messagebox(3); } #endregion
こんな感じで、「#region」から「#endregion」で閉じられるやつです。
これの上手い使い方が分からない。
メリットは?
ソースの可読性が上がる?
と聞いたけど、個人的にはそもそも他人のソースの時点で可読性もクソもない訳でw
あ、ソースをブロック単位で折りたたむことが出来るので、表示をすっきりさせることが出来ます。
こんな感じのソースを
折りたたむとこうなる。
これも、個人的には、見づらいだけなので・・・
・・・?
メリットらしいメリットが無いぞ???
デメリットは?
これはもう、個人の感想でしかない。
見づらい。
これはもう、折りたたまれてると、いちいち展開しないといけないのでイライラします。
書きづらい
いちいち「#region」と「#endregion」でくくる必要があるので、めんどい。
つづり間違えると、エラーになるし。
整理できない
任意の処理群をブロック化できることがメリットなのだけど、それ故に自分で処理を纏める必要がある。
例えば、こんな画面を作ったとして、各ボタンにはそれぞれクリック時の処理がある。
ここに4つ目のボタンを追加。
当然、プロパティ画面で確認しても、「Click」の部分には何もない訳で。
「Click」をダブルクリックして、button4_Clickを追加。
で、追加されたソースはこうなる。
4番目のボタンの処理を「 #region ボタンクリック処理」に纏めるためには、手動で移動させる必要がある。
これ、まだ数十行だからいいけど、ボタンやラベル、テキストボックスの処理が追加されると、数百行になるのも珍しくない。
そこにどのブロックにまとめるのか?
っていう問題と、そのブロックはどこにあるのか?
っていう問題が発生する。
自分の知る限り、このプルダウンのようにブロックの一覧を見れて、任意のブロックにすぐに移動できる仕組みを知らない。
なので、ブロックでまとまっていても、どこに何のブロックが書かれているか把握しづらい
検索時の一覧性が低い
Visual Studioでは、検索した単語をハイライト表示してくれます。
で、このハイライトを頼りにソースをスクロールしてザッ眺めることもあるけど、ブロックが閉じられてると見えない・・・
検索結果から飛ぶことは出来るのでいいんですが・・・
社内の開発ルールはどうなってるか?
ぶっちゃけ、弊社では社内の開発ルールになってるから、ブロック化してるだけ。
なんだけど、どうなのかな。
他の人は、見やすいと思ってるんだろうか?
そこが分からない・・・
ブロック化は無くても問題ない
ドロップリストでは項目名順に表示される
命名規則さえ守られてれば、見つけやすいと思うんですよ。
クリック処理は「Click_」で始めるとかにしておけば、クリック関連の処理なんてすぐ見つかる。
検索すればいい
身もふたも無いけど、検索すれば良い。
ハイライト表示で視認性もある。
検索結果から該当行へ移動も出来る。
プロパティのイベントからソースへ移動できる
例えばボタンのクリックイベントを登録すると、画面上ではこうなる。
Clickってところをダブルクリックすると、該当するイベント処理を表示できる。
まとめ
個人的にはブロック化のメリットが分からないんですよ。
だれか、良い管理の方法を教えてください。
ブロック化の本当のメリットとか、楽な管理の方法とか教えてください(切実)。