sakurugのTakumiです。
VB.NETを使用して開発を行いたいが、何から学ぶべきか準備すべきかわからないという方もいると思います。
いくつか準備すべきことを簡単にではありますがまとめてみました。
VB.NETに限らず開発自体が初めての方でもでも開発を進めていくのが少しは楽になると思うので読んで、調べたりしながら実際にやってみてください。
必須ソフトウェアのインストールを行ってください。
>Microsoft公式サイトからインストール
>無償版の Community Edition で基本OK
>VisualStudioダウンロードページ
「https://visualstudio.microsoft.com/ja/vs/older-downloads/?q=」
インストーラで以下のワークロードを選ぶ:
・.NET デスクトップ開発
・VB.NET対応言語パック(日本語)
・ASP.NET開発をする予定であれば「ASP.NETおよびWeb開発」も追加
基本構文・文法について、以下の内容は押さえておきましょう。
・変数の宣言(Dim)
・条件分岐(If, Select Case)
・関数・サブルーチン(Function, Sub)
・クラスとオブジェクト(Class, New, 継承)
・配列、リスト、辞書などのデータ構造
・イベントハンドラー(フォームアプリで重要)
【学習リソース例】
>Microsoft Learn (VB.NET)
「https://learn.microsoft.com/ja-jp/dotnet/visual-basic/」
>DOBON.NET プログラミング道
「https://dobon.net/vb/?utm_source=chatgpt.com」
>Udemy メディアの記事「VB.NETとは?習得するメリットや環境構築方法・構文例を解説」
「https://udemy.benesse.co.jp/development/app/vbnet.html?utm_source=chatgpt.com」
開発を進める上で「どのようなアプリを作成するのか」整理しておくことはとても重要になります。
整理しないまま進めると目的が曖昧なまま作ることとなり手戻りが増える可能性があるからです。また、目的が曖昧だと「終わりが見えない」状態になるからです。
そのため考えるべきことをまとめてみました。
①何をするためのアプリを作成したいのか
②作成したアプリを主に誰が使うのか
③何をできるようになれば完成なのか
例:
①目的:簡単な在庫管理がしたい
②対象:自分や社内のスタッフが使う
③ゴール:商品を登録・検索・数量変更できること
「必要な機能」を具体的に箇条書きしてみましょう。
最初は必要最低限の機能を書くのをおすすめします。
例:ToDo管理アプリ
・タスク追加・削除ができる
・完了済みかどうかをチェックできる
・データを保存して、次回起動時にも保存データを画面表示できる
※ユーザーが「何をしたいか」をベースに機能を考えると良いと思います。
ノートにラフスケッチで構わないので、どこに何があるかを可視化することで、必要な部品(フォーム、ボタン、テキストボックスなど)をイメージできます。
開発を始める前に、「どこから何を入力して、何がどう表示されるか」をイメージしておくと、ロジックの設計がしやすくなります。
例:
入力:ユーザーがテキストボックスにタスク名を入力
処理:ボタンを押すとリストに追加
出力:画面上のリストに新しいタスクが表示される
・ファイル(CSV, TXT, XML, JSON)
・データベース(Access, SQLite, SQL Server)
・設定ファイル(My.Settingsを使う)
「エッジケース」も少し意識しておくと、より完成度が上がります。
例:
・最大何件まで入力できる?
・同じ名前のタスクがあったらどうする?
・起動時にデータがないときはどうする?
プライベートで開発を進める場合はご説明した感じに進めても問題ないのですが、「開発現場でVB.NETを使う場合」においては、“どんなアプリを作るか明確にしておく”ことの重要性は変わりませんが、プライベートでの開発と違ってさらに細かい内容の整理・文書化が求められます。
プロジェクト構成・命名規則などのルールを決めておくことによりコードが読みやすくなり、保守性が上がります。また、開発スピードと効率も上がります。
フォルダ構成(例:Forms, Modules, Classes)
命名規則(例:btnOK(ボタンのName)、txtName(テキストボックスのName)などの接頭辞)
コメントの書き方(読みやすさ・保守性を意識)
エラーハンドリングのルール・書き方の統一(Try...Catch)
VB.NET には、すでに便利な機能やライブラリが標準でたくさん用意されています。
それを知らずに開発を行ってしまうと、自分で一から処理を作ったり、遠回りなやり方で解決しようとしてしまう可能性があるため非効率です。
例:
・System.IO(ファイル読み書き)
・System.Data(データベース接続)
・System.Windows.Forms(UI要素)
・Visual Basicの組み込み関数(IsNumeric, MsgBox, Formatなど)
「3」で設定した内容を作成できそうであれば自身で考えた内容を基に作成してもらいたいですが、まだ難しいと思われる方や簡単なツールなど作成してから作りたいという方もいると思います。
おすすめの練習題材となるものをまとめてみました。
【練習題材】
アプリ例 | 学べる事 |
---|---|
電卓 | UIとイベントの基本、数値計算 |
ToDoリスト | リスト管理、ファイル保存 |
顧客管理システム | データベース連携、CRUD処理 |
簡易家計簿 | テーブル表示、集計処理 |
Excel自動化ツール | 外部ライブラリとの連携、業務効率化 |
覚えておくと学習や開発業務で効率化できるものを何個か紹介します。
・IntelliSense(入力補完)
>コードを書くときに、自動的に候補を表示してくれる機能
・デバッガ
>プログラムの中で「何が起きているのか」をリアルタイムで見られるツール
・フォームデザイナのプロパティ設定
>「ラベル」、「ボタン」、「フォーム」などの見た目や動作をマウス操作で設定可能
・ショートカットキーを覚えると効率UP
例:F5(デバッグ実行)、Ctrl + K + C(コメントアウト)
・Gitなどのバージョン管理も可能であれば導入を検討(チーム開発であれば取り入れた方が良いです)
初心者がやりがちな注意点などを確認しておくことも開発を進める上でとても重要です。
例:
・変数の型を曖昧に使う(例:Dim x → 型がわからない)
・グローバル変数を多用する(Module内にPublicな変数を大量に定義する)
・例外処理をせずにプログラムが強制終了してしまう
(エラーメッセージなどを表示しない場合、何が原因でエラーが起きたのかわからない状態になる)
・画面の見た目(UI)を扱うコードと、実際の処理(ロジック)を同じ場所にベタ書き
(同じロジックが再利用できなくなったり、メンテナンスが難しくなってしまう)
カジュアル面談では、会社の雰囲気や仕事内容についてざっくばらんにお話ししています。
履歴書は不要、服装自由、原則オンラインです。興味を持っていただけた方は、
ぜひ以下からお申し込みください。
皆さんにお会いできることをサクラグメンバー一同、心より楽しみにしております!
カジュアル面談応募フォーム