2012-03-19 16 views
1

VB6の速いを学ぶための最善の方法やリソースがどのようなものです。私は新しいポジションでスピードアップする必要があり、私はVBAの自己学習の基礎から来ています。だから私は2つの主なニーズがあります。まず、既存のVB6を維持する以上、.NETや他に移行するためにVB6を学習しているかどうかなど、コードや機能を構造化する効率的な方法を理解する学習VB6 FAST

おかげ

+1

VB6を学習する唯一の理由は、サポートされている開発環境(VB6の開発環境[end-of-life]になっている)にコードを正しく移行できることです。(http://msdn.microsoft .com/en-us/vstudio/ms788708)4年前、ランタイムはまだWindows 8でサポートされています。新しいポジションで* new * VB6コードを構築する必要がある場合は、マイグレーションパスについて管理している単語を持つことをお勧めします。 –

+0

@BoltClock :-)うん。 VB6の移行を支援することが必要な企業の人々のための新しいポジションを完全に見ることができます... –

+2

'@ Marcoq':私の以前のコメントに続きます:もしあなたが自分でVBAを教えていれば、既に良い形になっており、主にVB6の参照情報が必要です。ここには[こちら](http://msdn.microsoft.com/en-us/library/ff405713.aspx)があります。しかし、もう一度、それはあなたが新しいVB6コードを書く必要がないと仮定しています。 –

答えて

0

を第二に、悪い習慣を鉄(そしてもっと重要なこと)現代の言語では、標準的なオブジェクト指向の方法論のスピードアップを試みるべきです。クラス、オブジェクト、カプセル化、継承(VB6は主にインターフェイスの継承を使用しますが、その上でハンドルを取得できる場合は90%あります)。また、VBAにはフォームが正しくないため、VB6 GUIフォームの仕組みを理解する必要があります。

2

まだ若い活発なプログラマーなら、逃げろ! VB6はデッドエンドです。あなたはVB6'er銃-ため、レンタルとして自分自身を配置している場合、このVB6のギグは理にかなっている(「ノートパソコンを持って、移動する」)を入力 - どこ、あなたが幸運なら、あなたは同じくらい不可欠程度であることを得る可能性がありますCOBOLコーダ。だからあなたがしなければならない場合...

MarkJが上の彼のコメントで与えるリンクをチェックしてください。あなたはまた、より多くのアイデアのための "vb6コーディング標準"または "ビジュアルベーシック6本"グーグルすることができます。 Bruce McKinneyの "Hardcore Visual Basic"は無料でhttp://vb.mvps.org/hardcore/(Win32 APIとCOMについてはここにたくさんあります)、第1章、「言語の浄化」で無料で利用できます。読んでみる価値があります。悪い習慣。

私のアドバイスは、(MarkJが推奨される)側でのC#やJavaを学び、基準とこれらの言語のために書かれたコーディングのベストプラクティスについて良い書籍やウェブサイトを追跡することです。そこから、あなたがVB6のコーディングスタイルにできることを採用するか、それに適応させます。ここで

は私のVB6特異的抗悪い習慣のヒントです:

(1)常にOption Explicitを使用しています。他のOptionステートメントには注意してください。

(2)DoEventsを避け - 代わりに、それはタイマーやイベントを実現するための方法を見つけます。メインイベントループが何であるかを知る。メッセージポンプが何であるかを知る。 VB6アプリケーションがメッセージポンプ(VB6プログラマから隠されている)をサービスするメインのイベントループの中心にあることを知ってください。 DoEventsはしばしば涙で終わるカンニングです。

(3)Option Baseを避けてください。ディメンション配列でToを使用しないでください。配列の最初の要素のインデックスはゼロでなければなりません。

(4)If ... EndIfDo ... LoopFor ... Next、または任意の他のそのようなブロックの内側にないDim変数を行います - それはVB.NETの土地でスコープの上に混乱を招くだろう(あるいは他の言語に精通している人のために)。それは、コードを読んだり、フォローしたりするのが難しくなります。

(5)常にDimAsを入力してください。絶対に必要な場合を除き、VariantまたはObjectを使用しないでください。このよう$(文字列)または%(整数)として変数装飾を捨て去る - 言い換えれば、それらを使用していない、Asを使用しています。

(6)For EachFor上可能な限り、適切な優先。

(7)Sub又はFunctionにより副作用として変更されない数値パラメータのByValByRef上を好みます。

(8)Regard On Error Resume Nextは可能な限り毒性があり避けてください。あなたはそれを使用する必要がありますか?なぜそれが必要なのかを冗長に説明し、できるだけ早くそれをオフにします。おそらくそれを独自のSubまたはFunctionにカプセル化します。

(9)Model/View/Controller(MVC)デザインパターンについて学んでください。ビジネスロジックをフォームに配置しないでください。

(10)Integer上(1または-10)をBooleanFalseTrue)を好むか(天国が私たちを助けて!)String"Y""N")。 Dim MyFlag As Booleanとすると、は、他のコーダーがBooleanを得られないという疑いが生じます。 If MyFlag ThenおよびIf Not MyFlag Thenが好ましい。

(11)ActiveX/COM開発は賢明ではありません。バイナリ互換性とVirtual PCを正しく理解しておく必要があります。