[.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