- PR -

VB6からVB.Netへの移行

投稿者投稿内容
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2006-05-10 16:32
さかもとと申します。

みなさんおっしゃるように今後対象アプリのバージョンアップが頻発するのであればメリットはあるかと思いますが、単純にVB6.0→.net対応とするだけなら工数の無駄かと・・・。

社内用のあるシステムをVB6.0から.net対応にしたことがありますが、ウィザード使ってすんなりとは当然いかず、結局作り直しになりました。そのアプリだって別にバージョンアップする必要もないものでしたから、勉強を兼ねてというスタンスでなければやらなかったと思います。
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-05-10 16:35
引用:

じゃんぬねっとさんの書き込み (2006-05-10 16:13) より:

# 個人的には変数の初期化関連もかなりイヤでした。
# 宣言した直後に初期化というルールを守っています。



Dim Code As String: Code = ""
Dim Amount As Integre: Amount = 0

多分、こんな書き方ですよね?
僕と同じです(^^)v
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-10 16:44
引用:

R・田中一郎さんの書き込み (2006-05-10 16:35) より:

Dim Code As String: Code = ""
Dim Amount As Integre: Amount = 0

多分、こんな書き方ですよね?
僕と同じです(^^)v


昔はこれだったんですが、最近は次の行に書くようになりました。
使う直前に定義、次の行で初期化というスタイルです。(私のサイト参照)

# 初めて分かれましたね。(ちょっとダケですがw)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2006-05-10 16:45
引用:

R・田中一郎さんの書き込み (2006-05-10 16:35) より:

引用:

じゃんぬねっとさんの書き込み (2006-05-10 16:13) より:

# 個人的には変数の初期化関連もかなりイヤでした。
# 宣言した直後に初期化というルールを守っています。



Dim Code As String: Code = ""
Dim Amount As Integre: Amount = 0

多分、こんな書き方ですよね?
僕と同じです(^^)v


Dim Code As String = ""
Dim Amount As Integre = 0
こんな書き方できませんでしたっけ?
(VB.NETは使ったことがないのでわかりませんが)

で、宣言した直後に初期化は言い換えれば初期化する直前に宣言と言えるかも。とい
うかそういう意味かも。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-10 16:53
引用:

ぽぴ王子さんの書き込み (2006-05-10 16:45) より:

Dim Code As String = ""
Dim Amount As Integre = 0
こんな書き方できませんでしたっけ?
(VB.NETは使ったことがないのでわかりませんが)


括弧で書かれている VB7 (VB.NET) から、そう書けるようになりました。
VB6 以前では宣言と初期化を一緒にはできなかったのです。

引用:

で、宣言した直後に初期化は言い換えれば初期化する直前に宣言と言えるかも。とい
うかそういう意味かも。


はい、そういう意味です。
VB にはブロックレベルのスコープはないのですが、見やすいのでそうしています。

VB プログラマの方はまとめて宣言して、まとめて初期化している方が多いようです。
CodeComplete では Coding Horror になっていましたが、見易さというのがあるんでしょうね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2006-05-10 17:09
引用:

括弧で書かれている VB7 (VB.NET) から、そう書けるようになりました。
VB6 以前では宣言と初期化を一緒にはできなかったのです。


確かにちゃんと文脈を読めば、VB6の話だということはわかりましたね orz
きっとじゃんぬねっとさんならすぐ返信するだろうと思って、焦って書いたのがあだになってしまいました
# 燃えプロでホームランを打たれたときのピッチャーの心境です

引用:

引用:

で、宣言した直後に初期化は言い換えれば初期化する直前に宣言と言えるかも。とい
うかそういう意味かも。


はい、そういう意味です。
VB にはブロックレベルのスコープはないのですが、見やすいのでそうしています。

VB プログラマの方はまとめて宣言して、まとめて初期化している方が多いようです。
CodeComplete では Coding Horror になっていましたが、見易さというのがあるんでしょうね。


そうですね。いわゆる Microsoft Basic (VBじゃなくN88-BASICとか) の頃から開発し
ている方にありがちなクセ?なのかもしれません。あるいはそういう習いで書かれた文献
を参考にしてしまったため、とか。
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-05-10 17:41
引用:

じゃんぬねっとさんの書き込み (2006-05-10 16:44) より:

昔はこれだったんですが、最近は次の行に書くようになりました。



使う直前に宣言初期化は一緒ですが、初期化前に改行するところが違うのですね。

コード:
Dim Code As String: Code = ""
If (CodeGetFlag) Then
    Code = CodeGet
End If

Dim Amount as Integer: Amount = AmountGet



次の行にするには、何か理由があるんでしょうか?
僕は、こんな書き方ですが、次の行にすると、ちょっと見やすくなる気はします・・・
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-05-10 17:45
引用:

ぽぴ王子さんの書き込み (2006-05-10 17:09) より:

VB プログラマの方はまとめて宣言して、まとめて初期化している方が多いようです。
CodeComplete では Coding Horror になっていましたが、見易さというのがあるんでしょうね。



サンプルを真似て意識せずに・・・というのはよくある話ですよね。
で、ある日ふと気づくんですよ。

「アレ?、こう書いた方がいいんじゃないか・・・?」

この瞬間の「してやったり感」といったら・・・w

スキルアップ/キャリアアップ(JOB@IT)