網頁

MSDN的範例程式碼不見了

Visual Basic 編碼慣例

好文一篇,推!

最近覺得奇怪,自從MSDN改版後,總是有些怪怪的現象,例如TreeView改的很奇怪,但還好找到了設定,修改為「傳統式」後,就回覆原來的樣子。

但還是一直有個疑問?

最近有些未翻譯的文章,都會出現右邊是英文、左邊是中文排版,但內容看了一下都是出現「如下例範列…」之類的文字後,就「空白」一片,想說是否還沒寫好,因為我看設定是顯示所有Code的:

All Code

本來是想整理這篇文章,結果發現我「複製、貼上」時出現了「程式碼」,程式碼怎麼被「隱藏」起來了,找了許久終於找到了顯示程式碼的設定:

語言篩選
選擇你要的語言就會出現程式碼了,此這改版真的是抱怨多於誇獎。不過還是怪怪的,程式碼裡多了一堆<span>的Tags!真是…傻眼!

文章中有幾項建議:
  • 善加利用區域變數的型別推斷
    請參考我的介紹:區域型別推斷
    也就是說Visual Basic很推薦使用區域型別推斷。
    但我個人認為,在必要時才使用比較好,在使用區域型別推斷會有一定的效率折扣,它還是多一道判斷型別的手續,而且在程式可讀性也不好,而且如果全使用區域型別推斷,我認為會多了一個除錯上的麻煩,如果正是型別造成的錯誤,你怎麼除錯?

  • 將陣列指示項放在變數上,不要放在型別上。
    Dim Names() as String 或 Dim Names as String(),這兩種用法我都常看到,查MSDN也查不出這兩種用法有什麼差異,我猜又是雙語的人材(VB,C#),由C#轉VB時把這樣的語法給帶進來使用,因為C#是使用「int[] array1 = new int[] { 1, 3, 5, 7, 9 };」它們是把陣列指示項放在型別上的(int[ ]的那個[ ]),雖然都可以正常運作,但有個依據總是好的,以後看到有人在Visual Basic用型別宣告陣列,就把這篇Mail給他看,然後付上一句「依MSDN上的建議…」^_^。
  • 優先使用 IsNot 關鍵字,而非 Not...Is Nothing。
  • 在執行比較時,若要略過不必要的程式碼以避免例外狀況並提升效能,請使用 AndAlso 代替 And 並使用 OrElse 代替 Or。
    這個東西很多人還不知道,而且也少有書會談這個,這是個好東西,可以讓我們在比較運算時加速我們的程式效率。
    例如:

    And:兩個都True才True,不管如何And都會等到所有結果出來才給最後結果;
    AndAlso:X AndAlso Y AndAlso Z,只要X為False,就得到結果為False,不用等Y/Z;
    Or:任一為True則True;但還是會等到所有結果出來才給最後結果;
    OrElse:X OrElse Y OrElse Z OrElse,只要X為True,就得到結果為True,不用等Y/Z;
 這篇文章還有很多很好的建議,Visual Basic的使用者細讀之。

    沒有留言:

    張貼留言

    感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。