[.NET] 超新手-程式碼的排版方式的意義

作者: yuster ( )   2013-08-21 13:52:12
各位前輩好,小弟是看書自學的超新手,非資訊相關的學生
所以有個很基本的問題想要請教一下(應該是太基本了,書本連題都不提....)
就是關於程式碼的排版方式隱含的意義
以下是我照書本練習的結果
Public Class Form1
Private Sub Form1_Click(sender As Object, e As EventArgs) Handles Me.Click
Me.Text = "表單Click事件測試"
Me.BackColor = Color.Green
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Text = "表單Load事件測試..."
Me.WindowState = FormWindowState.Maximized
End Sub
Private Sub Form1_Activated(sender As Object, e As EventArgs) Handles MyBase.Activated
Me.Text = "表單Activated事件測試..."
Me.BackColor = Color.Orange
End Sub
End Class
這裡是我的問題
1.每句statement前的抬頭空白是用來給閱讀者方便檢視用的,並不會影響執行的結果
因為執行的最小單位是"一句statement"
2.Keyword的第一個字母一定要大寫嗎?
我想測試看看,但是每次我試著改成小寫時,IDE都會自動幫我改回大寫...
3.每個Private Sub在排版上的先後順序不會影響執行結果,排版一樣是為了方便檢視
ex:我的Click事件放在Activated之前不會有問題
4.Public Class Form1之後一定要空一行才能開始寫其它的程式碼嗎?
5.句子裡,( ) _ , . ' " + - * / 前後多了或少了空格會不會造成錯誤
ex: Me.Text = ".........."
Me . Text="......"
6.Load事件根本看不到啊...書裡說會看到的
謝謝各位的閱讀 ^ ^
另外還有點我不知道怎麼問的問題
IDE輔助下寫出的程式碼:
Private Sub Form1_Click(sender As Object, e As EventArgs) Handles Me.Click
書本上的程式碼:
Private Sub Form1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Me.Click
兩者執行結果一樣
但是為什麼少了ByVal跟System,這些是?
我爬一下文只知道sender跟e是所謂的KeyPress事件..但是還是搞不清楚
作者: KawasumiMai (さあ、死ぬがいい)   2013-08-21 15:40:00
依照個人認知回答,有錯請糾正1.每篇code執行前都會經過compile,現在的長相只是讓工程師好辨認而已,空白只是VS內的GUI相關設定實際上在compile的時候不會管你那些,所以沒差2.如果你說的是"保留字",那個也是VS內的設定,至於差異同1,只是讓VS在Compile時辨認,至於自己的變數就可以依照喜好大小寫,並且會根據Dim時的版本統一3.原則上不會有問題,他是整篇讀完才開始執行的4.沒試過,不過也不清楚為什麼非得要弄成一行不可5.基本上不會,因為他會幫你修正,但是有些類似保留字如Else,If 跟ElseIf,如果有空白他會傻傻分不清6.Load事件是程式開始前的初始值宣告,以第二行max來說,你會看到他直接最大化執行而非執行後才最大化相同的,在這個時間點之內,也許textbox尚未實體化所以修改text值無效,改成Msgbox應該可以看到總之,寫code不是寫自己的code而是Compiler懂的code講英文也要講別人聽得懂的語法,所以既然寫.net那也只能說VS說了算,排板什麼的都是浮雲,他說你錯你也沒轍P.S.不對...想到自己寫的Code,6的部分應該看得到才對
作者: MOONRAKER (㊣牛鶴鰻毛人)   2013-08-21 16:05:00
1:不會 2:VB關鍵字沒有casing 你覺得IDE很煩可以關掉3: 每個sub之間沒有相依關係 可以隨便放4: 不用 5: 不會 6: 去上面選單選。Else If 和 ElseIf 在semantics上根本是兩回事好嗎他設計不把這兩個視為相同 就是不同 不是空不空格的問題
作者: yuster ( )   2013-08-22 21:14:00
謝謝兩位盡力為小弟解答,謝謝!!
作者: fumizuki (矇面加菲獅)   2013-08-22 22:00:00
空行 空白 TAB定位 全部會被編譯器忽略關鍵字 保留字 變數 常數 不區分大小寫IDE為了程式的可讀性,會一律改成相同的大小寫每個函式 屬性 欄位..都會是類別的一個成員 先後順序沒差物件名稱.屬性 = 值 依據規則 小數點前後是不可以有空白Load之後又執行了activated,把text的值改變了你想要看到什麼?.vb檔案開頭有 Import System 或者專案屬性中有匯入程式中就可以省略 Systembyval 是表示這個參數使用傳值呼叫,也是預設值,可省略
作者: MOONRAKER (㊣牛鶴鰻毛人)   2013-08-23 01:16:00
感謝板主指點 :D
作者: yuster ( )   2013-08-23 15:37:00
感謝指點!!load又執行acticated照書上範例,我覺得這樣是看不到,但是書上這樣教讓我很懷疑...看來我的懷疑是對的還是要謝謝版主跟兩位前輩的幫忙 ^_^~

Links booklink

Contact Us: admin [ a t ] ucptt.com