[ASP ] Function 與 Sub 的差別

看板Visual_Basic作者 (還在想)時間10年前 (2014/10/31 09:10), 10年前編輯推噓5(5013)
留言18則, 7人參與, 最新討論串1/1
大家好 最近被懂程式的客戶問到 我維護的ASP程式,為什麼不全部使用function寫,而要有些function有些sub 我的回應是,因為主要都是拿已經存在的東西來改寫 如果原本是sub,就還會是sub 因為我不知道改成function有什麼優點,所以我沒有想要改 因為被問這個問題我覺得很怪,是不是對方有什麼我不知道的細節 所以我問對方說使用function是否有什麼特別的好處 如果有的話我之後就會考慮改 結果對方只說function和sub是完全不同的東西 剩下的叫我自己查 我查了以後,最多也就如同精華區內的說明 function可以有回傳值,sub則否 有回傳值時輸入值要用()包住 可以用變數去接function的結果,sub則不行 看來看去,還是看不出來沒有回傳值得sub改用不回傳的function會有什麼好處 我知道自己很多程式上的相關觀念都不夠,對語言的特性也不夠了解 所以上來發問 請問,將sub改寫成function的優點是什麼呢? 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.18.8 ※ 文章網址: http://www.ptt.cc/bbs/Visual_Basic/M.1414717807.A.191.html

10/31 12:12, , 1F
程式有什麼bug嗎?如果沒有的話,照自己喜歡的寫法囉..
10/31 12:12, 1F
因為他的要求和bug無關,所以我才會疑惑這樣做的意義

10/31 12:46, , 2F
你客戶是把VB當成C寫吧 指鹿為馬 我會認為他裝懂
10/31 12:46, 2F
我現在已經疲於溝通,基本上他怎說我怎麼做 但會有的疑問還是想搞清楚 這樣看來這個問題只是雞蛋裡挑骨頭吧... ※ 編輯: Peruheru (220.134.18.8), 10/31/2014 15:31:16

10/31 18:19, , 3F
客戶程式比你強嗎? 要你自己查是一個最可笑的回答..
10/31 18:19, 3F

11/01 22:35, , 4F
如果需要回傳的話用Function對於程式的可讀性會有不
11/01 22:35, 4F

11/01 22:35, , 5F
少幫助吧 跟SUB(ByRef)比起來的話
11/01 22:35, 5F

11/02 16:54, , 6F
顯然不是這個問題。
11/02 16:54, 6F
抱歉沒說清楚 原本的程式並沒有使用ByRef作為資利回傳的手段 至少我維護的部分沒有看到 所以的確不是因為這個原因沒錯 原始寫法就是有回傳用function,沒回傳的用sub而已 所以我修改後也還是沿用原本的寫法

11/03 05:53, , 7F
function和sub是不同的東西
11/03 05:53, 7F
如果你是指意義和與我原文提到的用法上的不同 那個我已經知道了 除此之外還有什麼不同呢? 比如說效率?還是其他的什麼嗎? 我來問就是想知道所謂的"不同" 對於沒有回傳值的部分該選用function or sub會造成什麼影響? ※ 編輯: Peruheru (220.134.18.8), 11/03/2014 09:58:57

11/03 10:23, , 8F
主要是傳回值的差異
11/03 10:23, 8F

11/03 10:24, , 9F
這個問題只是雞蛋裡挑骨頭
11/03 10:24, 9F

11/12 10:52, , 10F
以個人理解跟用法上...function or sub與其說是傳回
11/12 10:52, 10F

11/12 10:53, , 11F
值得不同,不如說是"動作"跟"公式"的差異。以有GUI介
11/12 10:53, 11F

11/12 10:54, , 12F
面的狀況下,特別寫來控制其他項目會用sub,給予IN以
11/12 10:54, 12F

11/12 10:55, , 13F
求得OUT,類似控制晶片的用法,會用function。好像還
11/12 10:55, 13F

11/12 10:56, , 14F
有Address的差異吧?掛Event之類的,但詳細沒多做研
11/12 10:56, 14F

11/12 10:57, , 15F
究。就結果論來說好像還是需要傳回值就用function?
11/12 10:57, 15F

11/12 10:57, , 16F
不過也是有看過本身就把function設定傳回為void的
11/12 10:57, 16F

11/12 10:58, , 17F
共用度來說應該是function高吧?還有遞迴?
11/12 10:58, 17F

11/20 01:07, , 18F
程序 -> sub 特定功能函式-> function 不容易混淆
11/20 01:07, 18F
文章代碼(AID): #1KKk5l6H (Visual_Basic)
文章代碼(AID): #1KKk5l6H (Visual_Basic)