• 締切済み

VB.NETコーディング標準に沿ったサンプルコード

「VB.NETコーディング標準」やそれに似たもので書かれたサンプルコードを探しております。 昔VB6をかじっていた者です。先日からVB2010を触っております。 ハンガリアン記法に慣れていたのですが、これを機に離れてみようと思います。 全体として一貫したルールの元、命名規則を取ればよいのは分かるのですが、 VB.NETコーディング標準に似たサンプルコードがあればもっと理解しやすいような気がします。 検索したところ、クラス単体のようなサンプルコードはあるのですが、 プロジェクト全体のものも眺めてみたいのです。 ボタンを押すと「Hello world!」のような簡単なもので良いのです。 例えば ・プロジェクト名は? ・ソリューション名は? ・フォームもクラスであるがファイル名もクラスと同じルールでいいのか? ・配置するコモンコントロールの名前はどうしたらよいのか? ・(欲を言えば)データベースの入出力があるもの このような事を知りたく思います。 プロジェクト全体のサンプルコードを見ることが出来るサイト、書籍などなんでも良いです。 ご存知の方はアドバイスをお願いいたします。

みんなの回答

回答No.6

#3 です。 そもそも、業界全体で同意の取れた「VB.NETコーディング標準」が無いんです。 VB.NETの開発元であるマイクロソフトが提唱しているコーディング基準をもとに 各企業ごと、各団体ごとにそれぞれ独自に内部ルールを作成しているのが現状です。 なので参考になるサンプルが有りません。(特に企業のソースは門外不出です) 個人のフリーソフトだと独自のルールだったりして、やはり参考にはなりません。 迷ったら基本に返れ、でマイクロソフトのページを紹介します。 スキルアップのページのサンプルプログラムです。

参考URL:
http://msdn.microsoft.com/ja-jp/windows/aa904962.aspx#win
yoshiyoshi9
質問者

お礼

ご回答ありがとうございます。 Hayashi_Trek様のおっしゃる通り、独自に内部ルールを作成しているのは分かります。 逆に、会社がハンガリアン記法を採用していれば当然それに従うことになるでしょう。 >> 個人のフリーソフトだと独自のルールだったりして、やはり参考にはなりません。 フリーソフトでソース付きのものをいくつもダウンロード済みです。 やはり独自ルール、ごちゃまぜのもの、ハンガリアン記法が多く見られます。 そんな中でも「この人は綺麗なコードを書く」&「ソースを公開している」 そして「VB.NETコーディング標準」をもとにしている or 似ている そんなものがもしかしたらあるかもしれない、 みなさんが参考にしている人がいるかも知れない、 という希望で質問した次第です。 ぐちゃぐちゃでも動作はする、でも綺麗なコードを書いてみたい それにはまず、わかりやすい命名規則で統一してみよう そんな思いから出した質問で迷惑をかけております…

回答No.5

ぼくは、レベルが低いので。 V6って、まだ、あちこちの会社で動いてるが、サポ終了してるけど。 ヘルプで探すしかないんじゃないの? それに掲示板程度では、手に負えない感じですけど。 こんなのとか。 配置のサンプルとチュートリアル このトピックについてのフィードバックを Microsoft にお送りください このセクションには、Windows フォーム、WPF、コンソール アプリケーションの配置に使用されるサンプル アプリケーション、コード例、そして、構文、構造、および技法について説明した、詳細なチュートリアルが含まれています。 サンプル コードは説明を目的としたものであり、実際に配置されるソリューションで変更を加えずに使用することは避けてください。特に、セキュリティには十分な注意が必要です。 アプリケーションのセキュリティの詳細については、次のヘルプ トピックを参照してください。 ネイティブ コードと .NET Framework コードのセキュリティ Windows インストーラートピック Description Windows アプリケーションの配置 アプリケーションを別のコンピューターに配置する方法を説明します。 チュートリアル : マージ モジュールを使用した共有コンポーネントのインストール コンポーネントをマージ モジュールにパッケージ化し、マージ モジュールをインストーラーに組み込む方法を説明します。 カスタム動作の作成 カスタム動作を作成して、インストール後にユーザーを Web サイトに送る方法を説明します。 チュートリアル : カスタム動作を使用した、インストール時のメッセージの表示 構成ファイルを変更するアクションに、インストール中に入力されたデータを渡すアクションを作成する手順について説明します。 チュートリアル : カスタム動作を使用した、インストール時のアセンブリのプリコンパイル インストール後にアセンブリをプリコンパイルするカスタム動作の作成手順について説明します。 チュートリアル : カスタム動作を使用して、インストール時にデータベースを作成する カスタム動作を作成して、インストール時にデータベースを作成する方法を説明します。 チュートリアル : インストール時にアプリケーションを別の XML Web サービスにリダイレクトする URL Behavior プロパティ、インストーラー クラス、および Web セットアップ プロジェクトを使って、別の XML Web サービスを使用するようにリダイレクトできる Web アプリケーションを作成する方法を紹介します。 ClickOnce の配置トピック Description チュートリアル : ClickOnce アプリケーションを手動で配置する .NET Framework ユーティリティを使用して ClickOnce アプリケーションを配置する方法を説明します。 チュートリアル : ClickOnce 配置 API を使用して必要に応じてアセンブリをダウンロードする アプリケーション内の特定のアセンブリに "オプション" マークを付ける方法、および System.Deployment.Application 名前空間にあるクラスを使用して、それらのアセンブリをダウンロードする方法について説明します。 チュートリアル : デザイナーを使用し、ClickOnce 配置 API で必要に応じてアセンブリをダウンロードする アプリケーションで初めて使用するときにのみアプリケーション アセンブリをダウンロードする方法を説明します。 参照その他の技術情報 Visual Studio に関するチュートリアル Visual Studio のサンプル

yoshiyoshi9
質問者

お礼

ご回答ありがとうございます。 幾つか誤解があるかもしれませんので記します。 ・VB6の話しはしておりません。VB2010(.net以降)の話しです。 ・「VB.NETコーディング標準」を知らない方には答えられないかと思います。 ・この質問の「サンプルコード」というのはマイクロソフトのヘルプではありません。 ・>>それに掲示板程度では、手に負えない感じですけど。←この発言は皆様に失礼です。 無料の掲示板です。 にもかかわらず、わざわざ手間暇をかけて回答して頂いた方全てに感謝です。 もちろんtoyotomiReoさんにも感謝しております。 ですが、少し脇道にそれているようです。 「VB.NETコーディング標準」やそれに似たもので書かれたソフトのサンプルコードを探しております。 引き続き、ご存知の方がいらっしゃいましたらよろしくお願い致します。

回答No.4

'たとえば、こんなプログラムをCDとかに書き込んだり、実行ファイルにするには、 '1_プロジェクト(p)をクリックします。 '2_●●プロジェクトの発行(H)をクリックします。 '3  あとは、基礎知識があれば、発行できますよ。 '前にも同じ質問を見たから言うけど。マルポですか? 'まず、VB2010(無料版)を始めましょう。 'V6はV6で1つの時代が終わりました。 'V6しかできない技術者は会社を去りました。 'ぼくは、、ただの趣味。 Public Class Form1 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load MsgBox("Hello♪ my name is 豊臣れお") End Sub End Class

yoshiyoshi9
質問者

お礼

ご回答ありがとうございます。 toyotomiReoさん何度も回答して頂いてありがとうございます。 「マルポ」とはマルチポストのことでしょうか? もしそうならば、その質問がどこにあるか示していただければ この質問の回答がそこにあるのかも… 私のこの質問は「変数の命名規則」が知りたいだけです。 プログラムの作り方でも勉強の仕方でもないのです。 toyotomiReoさんは「VB.NETコーディング標準」はご存知でしょうか? あまり有名では無いのかな…

回答No.3

URLの「VB.NETコーディング標準」はどうでしょう。 元はJAVA用だったみたいですが C#用、VB.NET用も発表しています。 本家のマイクロソフトはハンガリアン記法は望ましくないとしていますが ヘルプのサンプルなどにはハンガリアン記法が使われていたりします。

参考URL:
http://objectclub.esm.co.jp/
yoshiyoshi9
質問者

お礼

ご回答ありがとうございます。 その「VB.NETコーディング標準」やそれに似たもので書かれたサンプルコードを探しております。 参考URLを見させてもらいました。 ダウンロードの項目から「詳細クラス図」や「ソースコード」もみてみたのですが、 VB.netでの全体像をみてみたいです。

回答No.2

「HELLOなんとか」って表示とか書いてるけど、 完全にはじめようとしてる状態ですよね? 入門本じゃあ~ダメなんですか? フォーム1だけで練習しよう。 基礎ができたら、ヘルプで無限にサンプルが見れますよ。 でも~。基礎ができてないと、サンプルを見ても、実行まで、たどりつけないかもね。 Option Strict On Option Explicit On Option Infer Off 'VB2010(無料版)_グラフィックス 'マイクロソフトサンプル ' 'ヘルプ設定の管理のトコで各設定をする 'コンテンツをダウンロードしてインストールする 'ヘルプの表示でヘルプが参照できる&サンプルコードが見れる 'まぁ、確かに、入門本では退屈だろう。 'こうゆうコードは、入門本ではゲットンできませんね。 '基礎は最低限ないと、ヘルプライブラリは読めないよぉ。 Imports System.Drawing.Drawing2D Public Class Form1 Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint Dim g As Graphics = e.Graphics Dim pen72 As Pen = New Pen(Color.Yellow, 5) Dim pen55 As Pen = New Pen(Color.Green, 7) g.SmoothingMode = SmoothingMode.AntiAlias g.DrawEllipse(pen72, 20, 20, 100, 50) g.ScaleTransform(1, 0.5F) g.TranslateTransform(50, 0, MatrixOrder.Append) g.RotateTransform(30, MatrixOrder.Append) g.DrawEllipse(pen72, 20, 20, 100, 50) g.DrawLine(pen55, 0, 0, 200, 100) End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.Size = New Size(300, 300) Me.BackColor = Color.Black PictureBox1.Size = Me.Size PictureBox1.Location = New Point(0, 0) End Sub End Class

yoshiyoshi9
質問者

お礼

ご回答ありがとうございます。 入門書もハンガリアン記法でかかれてるのです(泣) 例えば「マイクロソフト公式解説書 VisualBasic2008 データベース開発入門」では、 ComboBoxは「cmb~」 Formは「frm~」 DataReaderは「dr」 というような接頭語や略語でかかれております。 ご指摘頂きましたサンプルの中の Dim g As Graphics = e.Graphics のような「g」も安易な略語のひとつでは無いのかと思いました。 Dim pen72 As Pen = New Pen(Color.Yellow, 5) Dim pen55 As Pen = New Pen(Color.Green, 7) 「72」や「55」という数字はどこから出てくるのだろう?と思いました。 もちろんこれはサンプルプログラムですからよりシンプルを、というのはわかります。 しかし、実運用の中では「VB.NETコーディング標準」にある「安易な略語を避ける」ことになると思います。 いくつも出てきた場合には、当然その変数の利用目的に合わせた名前にすべきなのはわかります。 ヘルプライブラリは基礎が無いと読めないというご指摘、もっともだと思います。 ヘルプは初心者には難しすぎて…。 これが普通に読めるまでに勉強したく思います。 引き続き、簡単なものでよいのでプロジェクト全体が見れるようなところがありましたらご教示下さい。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

こんなのとか: 電通国際情報サービス 監修 「VB.NETルールブック ~読みやすく効率的なコードの原則」 http://gihyo.jp/book/2011/978-4-7741-4500-6

yoshiyoshi9
質問者

お礼

ご回答ありがとうございます。 Amazonの中身検索で見てみました。 面白そうな本ですね。 しかし、やはりプロジェクト全体を見てみたく思います…

関連するQ&A

  • VB2008でのクラスや変数などの命名について。今VB6で作成したプロ

    VB2008でのクラスや変数などの命名について。今VB6で作成したプログラムをVB2008に移植中なのですが、名前の付け方で悩んでいます。 VB6のときはハンガリアン記法が推奨されており、クラス名は頭にclsをつけてclsHogeとかやっていたわけですが、VB2008ではそのような記法はもう主流でないと聞きましたので、clsを取っ払い始めたのですが、やっていくうちにそのクラス名が変数名やプロパティ名とぶつかっていることに気付きました。 Javaだとクラス名は大文字で始め、変数名や関数などは小文字で始める規則になっており、大文字小文字を区別する仕様なので問題ないと思いますが、VBでは区別ないので適用不可です。  VBにお勧めの命名規則はありますか?

  • 標準モジュールを共通で使うには?

    いつもお世話になります。VB2005です。 ソリューションには最低1個のプロジェクトが存在します。それに複数個の標準モジュールを追加してプログラム全体を構成しています。 ここで、独立した複数個のソリューション(プロジェクト)をつくり、それぞれから共通に利用できる標準モジュールを利用することがあります。この標準モジュールに何か変更が生じたときは、それらを利用しているプロジェクト内へファイルコピーして、後日の不一致を防止しています。 過去の古いVBでは、特定のホルダーに標準モジュールを置いておくことで共用ができていたと記憶しています。ですから、ある編集中プロジェクト内の標準モジュールに変更があっても、他のプロジェヘクトへ自然に反映されていました。 VB2005においても何かの設定で同様のことが可能でしょうか? よろしくお願いします。

  • VB初心者なのでわかりづらい説明になってしまっていますが、宜しくお願い

    VB初心者なのでわかりづらい説明になってしまっていますが、宜しくお願いいたします。 ソリューションに含まれる全クラスのメソッド一覧を取得したいと考えています。 考えている処理は以下の通りです。 For i As Integer = 1 To プロジェクト数   For j As Integer = 1 To クラス数     ' クラスオブジェクトの取得     Dim typ As Type = GetType(プロジェクト名.クラス名) ※     ' クラスが持つメソッドの取得     Dim methods As MethodInfo() = typ.GetMethods()     ' 出力処理   Next Next ソリューションの例 Solution   ├Project1   │  ├Class1_1   │  └Class1_2   ├Project2   │  ├Class2_1   │  ├Class2_2   │  └Class2_3   └Project3      └Class3_1 ただ、ソリューションに含まれるプロジェクトの数、プロジェクトに含まれるクラスの数 の取得方法とプロジェクトに含まれているクラス名の取得方法がわかりません。 よろしければ、教えていただけないでしょうか。 また、他に良い方法があれば教えていただけないでしょうか。 宜しくお願いいたします。 環境はVB2008です。

  • VBの実行時の処理の流れ(仕組み)について教えて下さい

    WindowsXp-Pro上でVB.NET2003を使用しています。VB.NET初心者です。 VB.NETはコーディング後デバッグを行いエラーがなければ実行される訳ですが、実行時の処理の流れと言うか、仕組みについてご伝授頂きたいと思います。 VB.NETにおいてはオブジェクト指向が進んでおりコーディング作業時は全体の流れを考えなくても、クラス内でのインスタンスやサブルーチン・関数ルーチン、フォームロード時の処理、モジュール内での処理等のコーディングのみを考えていれば実行できるようになっています(少なくとも今まで私が作成したプログラムはそうでした)。しかし、色々なサンプルプログラムを作っているとこれはクラスで指定した方が良い処理とかモジュールで指定した方が良いのではと思うことが多々あります。 プロジェクトやフォーム、クラス、モジュール、コンポーネントクラス、ユーザーコントロール、データフォームウィザード、継承コントロール (これらはVisualStudioの「プロジェクト」メニューをクリックした時の項目です) 等の処理の順序が判っていればもっと効率的な処理を適材適所に配置できるのではないかと思います。 これらをコーディングレベルで結構ですので機械内での処理の順序をご説明頂ければ幸いに思います。現在のところコンピュータは並列処理はできないので必ず優先順位がつくと思うのですが、未熟な為VBの全体像がつかめず処理の流れも判らずにいます。 よろしくお願い致します。

  • サンプルコードについて

    こんばんは。 http://www.microsoft.com/JAPAN/msdn/columns/webteam/webteam03052001.asp#save 上記のページ「最新の GIF の保存」の「Web Team の回答」のサンプルコードなのですが、  Dim collImages As IHTMLElementCollection  Dim img As IHTMLImgElement に関して、「ユーザー定義型は定義されていません」とエラーが出てしまいます。 『まず新しい VB EXE プロジェクトを作成し、WebBrowser コントロールを追加し wbMain という名前を付けます。その後以下のコードをフォームに貼り付けます。』の記載の通りに組んでみました。 一体、何が原因でエラーが発生するのでしょうか? 是非、アドバイスを下さい。よろしくお願いします。 ** 環境 ** VB6.0sp5,Win98se,IE5.5sp2 VB歴1年弱、APIは学び始めの状態です

  • VB2008のプロジェクトファイル名

    VB2008であるプロジェクトをコピーして別のプロジェクトにしたいのですがどうすればいいでしょうか? VB6の頃でしたら「名前を付けてプロジェクトの保存」というメニューがあったのですがVB2008にはなさそうです。 フォルダーごとコピーしてもexe名とかは変えられてもソリューションファイル「*.sln」のファイル名を変えると起動しないようですし、ご存知のかたがおられたらお願いします。

  • BASE64による全角文字のエンコード・デコードのコーディング(VB)

    こんにちは、初めて質問します。 私は現在BASE64(VB)を制作中の者です。半角英数のエンコード・デコードのコーディングは完成したのですが、全角文字となると手も足も出ない状態です。 そこで、これのついて御存知の方、全角文字のエンコード・デコードのコーディング方法を教えて下さい。 サンプルコードも見せていただければ幸いです。 宜しくお願いします。

  • VB6.0 VB.NET2003とのクラスの違い

    こんにちは VB6.0でデータベースのソフトを作成しています。 当初VB6.0はVB.NETと違い完全なオブジェクト指向言語ではないと聞いていたので、 フォームの画面ごとに検索、追加、更新、削除、入力チェック,印刷のコードを書いていこうとしました。 しかし、最近そうでもないことがわかりました。 そこで、画面ごとではなく機能ごとに検索、追加、更新、削除、入力チェック,印刷のクラスモジュールをつくり、 どこに何が書かれているかわかるようにコーディングしたいと思います。 VB.NET2003は学生のころやっていたのですが、VB6.0は最近やりだしたのでよくわかっていません。 VB6.0の入門書をみてもクラスについては2~3ページしか触れていません。 VB.NET2003にはできるがVB6.0にはできないクラスの大きな違いを教えてください。 いまのところコンストラクターとオーバーロードはできないということだけわかっています。

  • まともなコーディングを知りたい(長文です)

    PG3年目の者です。 「VBなんて簡単」とバカにする割には、イベントプロシージャにだらだらコーディングする、共通化せずにコピペする、サードパーティー製のOCXを使った場合、フォーム内に大量のイベントとそれに伴うコードを平気で書く、などなど腹立たしい文化が社内にはびこっております。 かくいう私も、まともな(キレイな)コーディングメソッドを知っているという自信はありません。なんとなく「これはクラスにして、これはBASに記述して」ということはしておりますが、明確な根拠があるわけではありません。「もっとちゃんとした方法が、あるに違いない」という思いだけがあります。 そんなわけで、「お手本となるコーディングスタイル」の具体的な例がわかるサイトがあればお教えいただきたいと考えております。ちなみに、VB6でお願いします。

  • Visual Studio 2008でのC言語のサンプルコード実行につ

    Visual Studio 2008でのC言語のサンプルコード実行について教えてください。 他のプログラミング言語の経験はありますが、C言語とVisual Studioの開発環境は初めてでつまずいています。 C言語で書かれたたくさんのサンプルコードを、 Visual Studioと、Visual Studio コマンドプロンプトでテストしたいのです。 「test」というソリューション(プロジェクト)の下に、「新しいクラス」を追加して、 サンプルコードをコピペして、順次デバックでテストしようとしたところ、 ひとつのプロジェクトの中でmainが重複してしまいエラーになります。 main重複でエラーは当たり前とはいえ、 サンプルコードごとにプロジェクトを作成するのは大げさすぎる気がすることと、 体裁にこだわらず、とにかくデバックで各コードが動くことを確認したいこと、 サンプルコードの書き出し(main関数)などを修正してサブクラスに書き直してデバックすれば mainの重複とみなされず、手軽にVisual Studioでテストできるのではないかと やり方を調べています。 2つ目以降を、サブクラスにすればmainの重複がなくなるでしょうか? その場合、最初のmain関数 int main (int argc, char **argv) をどう修正すればいいのでしょうか。 それとも、何か別のやり方で、Visual Studioで手軽にテストする方法があるでしょうか。 調べてみたのですが、具体策がわからず困っています。 今回初めてVisual Studioに触れましたが、今後長く使いたいので別の環境に逃げずいろいろ勉強したいと思っています。 もし何かお心当たりがありましたら、ぜひ教えてください。 宜しくお願い致します。

専門家に質問してみよう