作者yuster ( 都好都可以~)
看板Visual_Basic
标题[.NET] 超新手-程式码的排版方式的意义
时间Wed Aug 21 13:52:12 2013
各位前辈好,小弟是看书自学的超新手,非资讯相关的学生
所以有个很基本的问题想要请教一下(应该是太基本了,书本连题都不提....)
就是关於程式码的排版方式隐含的意义
以下是我照书本练习的结果
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事件..但是还是搞不清楚
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.166.4.51
1F:→ KawasumiMai:依照个人认知回答,有错请纠正 08/21 15:40
2F:→ KawasumiMai:1.每篇code执行前都会经过compile,现在的长相只是让 08/21 15:40
3F:→ KawasumiMai: 工程师好辨认而已,空白只是VS内的GUI相关设定 08/21 15:41
4F:→ KawasumiMai: 实际上在compile的时候不会管你那些,所以没差 08/21 15:42
5F:→ KawasumiMai:2.如果你说的是"保留字",那个也是VS内的设定,至於差 08/21 15:42
6F:→ KawasumiMai: 异同1,只是让VS在Compile时辨认,至於自己的变数就 08/21 15:43
7F:→ KawasumiMai: 可以依照喜好大小写,并且会根据Dim时的版本统一 08/21 15:44
8F:→ KawasumiMai:3.原则上不会有问题,他是整篇读完才开始执行的 08/21 15:44
9F:→ KawasumiMai:4.没试过,不过也不清楚为什麽非得要弄成一行不可 08/21 15:45
10F:→ KawasumiMai:5.基本上不会,因为他会帮你修正,但是有些类似保留字 08/21 15:46
11F:→ KawasumiMai: 如Else,If 跟ElseIf,如果有空白他会傻傻分不清 08/21 15:46
12F:→ KawasumiMai:6.Load事件是程式开始前的初始值宣告,以第二行max来 08/21 15:47
13F:→ KawasumiMai: 说,你会看到他直接最大化执行而非执行後才最大化 08/21 15:47
14F:→ KawasumiMai: 相同的,在这个时间点之内,也许textbox尚未实体化 08/21 15:48
15F:→ KawasumiMai: 所以修改text值无效,改成Msgbox应该可以看到 08/21 15:48
16F:→ KawasumiMai:总之,写code不是写自己的code而是Compiler懂的code 08/21 15:48
17F:→ KawasumiMai:讲英文也要讲别人听得懂的语法,所以既然写.net那也只 08/21 15:49
18F:→ KawasumiMai:能说VS说了算,排板什麽的都是浮云,他说你错你也没辙 08/21 15:49
19F:→ KawasumiMai:P.S.不对...想到自己写的Code,6的部分应该看得到才对 08/21 15:52
20F:→ MOONRAKER:1:不会 2:VB关键字没有casing 你觉得IDE很烦可以关掉 08/21 16:05
21F:→ MOONRAKER:3: 每个sub之间没有相依关系 可以随便放 08/21 16:06
22F:→ MOONRAKER:4: 不用 5: 不会 6: 去上面选单选。 08/21 16:07
23F:→ MOONRAKER:Else If 和 ElseIf 在semantics上根本是两回事好吗 08/21 16:08
24F:→ MOONRAKER:他设计不把这两个视为相同 就是不同 不是空不空格的问题 08/21 16:09
25F:→ yuster:谢谢两位尽力为小弟解答,谢谢!! 08/22 21:14
26F:推 fumizuki:空行 空白 TAB定位 全部会被编译器忽略 08/22 22:00
27F:→ fumizuki:关键字 保留字 变数 常数 不区分大小写 08/22 22:03
28F:→ fumizuki:IDE为了程式的可读性,会一律改成相同的大小写 08/22 22:03
29F:→ fumizuki:每个函式 属性 栏位..都会是类别的一个成员 先後顺序没差 08/22 22:06
30F:→ fumizuki:物件名称.属性 = 值 依据规则 小数点前後是不可以有空白 08/22 22:08
31F:→ fumizuki:Load之後又执行了activated,把text的值改变了 08/22 22:12
32F:→ fumizuki:你想要看到什麽? 08/22 22:12
33F:→ fumizuki:.vb档案开头有 Import System 或者专案属性中有汇入 08/22 22:15
34F:→ fumizuki:程式中就可以省略 System 08/22 22:15
35F:→ fumizuki:byval 是表示这个参数使用传值呼叫,也是预设值,可省略 08/22 22:16
36F:→ MOONRAKER:感谢板主指点 :D 08/23 01:16
37F:→ yuster:感谢指点!! 08/23 15:37
38F:→ yuster:load又执行acticated照书上范例,我觉得这样是看不到,但是书 08/23 15:39
39F:→ yuster:上这样教让我很怀疑...看来我的怀疑是对的 08/23 15:41
40F:→ yuster:还是要谢谢版主跟两位前辈的帮忙 ^_^~ 08/23 15:41