西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開發(fā)ASP → VBA的程序是不是真正的程序?

VBA的程序是不是真正的程序?

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站原創(chuàng)時(shí)間:2010/2/12 10:01:54字體大。A-A+

作者:不詳點(diǎn)擊:566次評(píng)論:0次標(biāo)簽: 程序員

Java程序員appv2.3.0 官網(wǎng)安卓版
  • 類型:教育學(xué)習(xí)大。8.6M語(yǔ)言:中文 評(píng)分:10.0
  • 標(biāo)簽:
立即下載

最近對(duì)Excel中的VBA比較關(guān)注,一方面是因?yàn)楣居袔醉?xiàng)工作是用VBA完成的,不僅效率很高,而且業(yè)務(wù)人員的反響也特別好;另外也開始關(guān)注ExcelHome網(wǎng)站的內(nèi)容,還下載了一些大家都評(píng)價(jià)不錯(cuò)的Excel小工具來(lái)研究一下

在做這兩方面事情的過(guò)程中,我發(fā)現(xiàn),對(duì)于程序員和VBA之間,有兩種奇怪的現(xiàn)象,和大家分享一下。

首先一點(diǎn),很多人認(rèn)為VBA的程序不是真正的程序。

在大多數(shù)人的心目中,程序應(yīng)該是什么樣子的呢?要么是Application的樣子,或者說(shuō)是Winfom 的形式,要么就是網(wǎng)站的形式。也就是說(shuō)要么C/S,要么B/S,而Excel中的VBA程序,應(yīng)該算哪一種呢?似乎哪一種都不算,因此就可以得出結(jié)論,這樣的程序不是程序。

在完成工作的時(shí)候,自己倒是沒(méi)有想到這個(gè)問(wèn)題,但是,在做完了之后,部門的主管告訴我說(shuō),先這樣給業(yè)務(wù)部門用著,等有時(shí)間的時(shí)候再做個(gè)真正好用的。

其實(shí),我覺(jué)得,是否是所謂的程序并不重要,重要的應(yīng)該在于它是否滿足了業(yè)務(wù)的需要,并且具有很多所謂的真正的程序無(wú)法達(dá)到的優(yōu)點(diǎn)。

我開發(fā)的抽獎(jiǎng)的工具完全符合業(yè)務(wù)的需要,而且最近的抽獎(jiǎng)就是利用那個(gè)小工具完成的。它不僅完成了所需要的功能,還免除了業(yè)務(wù)人員導(dǎo)入、導(dǎo)出Excel數(shù)據(jù)的工作,而且產(chǎn)生的數(shù)據(jù)也可以非常方便地利用Excel特有的功能進(jìn)行各種篩選、排序等等操作。此外,對(duì)于業(yè)務(wù)人員來(lái)說(shuō),學(xué)習(xí)曲線極低,我僅僅講解了5分鐘左右,業(yè)務(wù)人員都可以完全地進(jìn)行獨(dú)立操作了。那么,在這種情況下,真的就一定需要開發(fā)出Winform形式的東西才能夠算是程序嗎?

可能之所以有些人更愿意編寫Winform或者是Web形式的程序,一方面是因?yàn)橐恢痹谀菢拥沫h(huán)境中編寫程序,對(duì)其比較熟悉,而對(duì)于VBA的環(huán)境不是很熟悉,覺(jué)得會(huì)降低工作的效率;另一方面可能是覺(jué)得,Excel這個(gè)東西,很多不是程序員的人也都能夠操作,是辦公軟件,用這樣的東西做,就顯不出自己的高明之處了,哈哈。

其次一點(diǎn),在看了很多VBA程序之后,發(fā)現(xiàn)程序中存在很多需要改進(jìn)的問(wèn)題。

非常重要的一點(diǎn)在于代碼的規(guī)范問(wèn)題,在很多非常有名的Excel工具中,也存在著嚴(yán)重的代碼規(guī)范問(wèn)題。比方說(shuō)各種命名:對(duì)于變量的命名還算不錯(cuò),而對(duì)于各種控件的命名,很多人都是采用了原有的默認(rèn)名稱,像CommandButton1、Sheet1;再比方說(shuō)對(duì)行列的操作,存在著大量的“魔法數(shù)”,例如對(duì)列“B”的操作,就是用“B”,其實(shí)對(duì)于這樣的東西,使用常量定義,可以很大程度上方便開發(fā),而且還會(huì)提高程序的可維護(hù)性。

這個(gè)問(wèn)題的原因可能在于目前大型的開發(fā)中很少會(huì)使用VBA作為開發(fā)的語(yǔ)言,而代碼規(guī)范這個(gè)東西更多的是存在于大型的項(xiàng)目開發(fā)過(guò)程中。因此,很多的VBA開發(fā)者并沒(méi)有注意到這些問(wèn)題,因?yàn)闆](méi)有人去要求。

上面的這兩個(gè)怪現(xiàn)狀是一個(gè)惡性的循環(huán),由于VBA程序中存在很多的問(wèn)題,做過(guò)大型項(xiàng)目的程序員就會(huì)對(duì)只會(huì)編寫存在大量問(wèn)題的VBA開發(fā)者嗤之以鼻,認(rèn)為他們不配做真正的程序員,從而更加不會(huì)在實(shí)際的工作中使用VBA來(lái)作為開發(fā)的工具。而大量的人認(rèn)為VBA開發(fā)者不是真正的程序員,開發(fā)VBA的程序并不意味著具有非凡的技術(shù)實(shí)力,從而使得更多的人在選擇的時(shí)候不會(huì)以VBA作為開發(fā)的工具。

針對(duì)上面的情況,我有兩個(gè)建議:一是大家要認(rèn)清VBA的好處,在某些特定的情況下,它可以大大提高開發(fā)者和業(yè)務(wù)人員的工作效率;而是作為VBA的開發(fā)者,應(yīng)該注意培養(yǎng)一下自己在代碼開發(fā)過(guò)程之中的一些素質(zhì),比方說(shuō)代碼規(guī)范,比方說(shuō)DRY原則等等。

歡迎大家對(duì)此進(jìn)行討論!

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)