在做這兩方面事情的過程中,我發現,對於程式設計師和vba之間,有兩種奇怪的現象,和大家分享一下。
首先一點,很多人認為vba的程式不是真正的程式。
在完成工作的時候,自己倒是沒有想到這個問題,但是,在做完了之後,部門的主管告訴我說,先這樣給業務部門用著,等有時間的時候再做個真正好用的。
其實,我覺得,是否是所謂的程式並不重要,重要的應該在於它是否滿足了業務的需要,並且具有很多所謂的真正的程式無法達到的優點。
我開發的**的工具完全符合業務的需要,而且最近的**就是利用那個小工具完成的。它不僅完成了所需要的功能,還免除了業務人員匯入、匯出excel資料的工作,而且產生的資料也可以非常方便地利用excel特有的功能進行各種篩選、排序等等操作。此外,對於業務人員來說,學習曲線極低,我僅僅講解了5分鐘左右,業務人員都可以完全地進行獨立操作了。那麼,在這種情況下,真的就一定需要開發出winform形式的東西才能夠算是程式嗎?
可能之所以有些人更願意編寫winform或者是web形式的程式,一方面是因為一直在那樣的環境中編寫程式,對其比較熟悉,而對於vba的環境不是很熟悉,覺得會降低工作的效率;另一方面可能是覺得,excel這個東西,很多不是程式設計師的人也都能夠操作,是辦公軟體,用這樣的東西做,就顯不出自己的高明之處了,哈哈。
其次一點,在看了很多vba程式之後,發現程式中存在很多需要改進的問題。
非常重要的一點在於**的規範問題,在很多非常有名的excel工具中,也存在著嚴重的**規範問題。比方說各種命名:對於變數的命名還算不錯,而對於各種控制項的命名,很多人都是採用了原有的預設名稱,像commandbutton1、sheet1;再比方說對行列的操作,存在著大量的「魔法數」,例如對列「b」的操作,就是用「b」,其實對於這樣的東西,使用常量定義,可以很大程度上方便開發,而且還會提高程式的可維護性。
這個問題的原因可能在於目前大型的開發中很少會使用vba作為開發的語言,而**規範這個東西更多的是存在於大型的專案開發過程中。因此,很多的vba開發者並沒有注意到這些問題,因為沒有人去要求。
上面的這兩個怪現狀是乙個惡性的迴圈,由於vba程式中存在很多的問題,做過大型專案的程式設計師就會對只會編寫存在大量問題的vba開發者嗤之以鼻,認為他們不配做真正的程式設計師,從而更加不會在實際的工作中使用vba來作為開發的工具。而大量的人認為vba開發者不是真正的程式設計師,開發vba的程式並不意味著具有非凡的技術實力,從而使得更多的人在選擇的時候不會以vba作為開發的工具。
針對上面的情況,我有兩個建議:一是大家要認清vba的好處,在某些特定的情況下,它可以大大提高開發者和業務人員的工作效率;而是作為vba的開發者,應該注意培養一下自己在**開發過程之中的一些素質,比方說**規範,比方說dry原則等等。
JAVA 碎片整理系列 (一)之 程式設計師的普遍現狀
最近身邊好多朋友在考慮換工作,大多都是7年及以上的工作經驗的資深程式設計師,工作能力很強,但是由於面試和自身各式各樣的原因,導致最終的結果都不是特別的理想,最終不了了之,在現有的崗位繼續堅持工作,或者 處在不斷的面試中,有感而發,所以有了該系列文章。目前北上廣深等一線城市,動輒幾百萬的程式設計師,貌...
程式設計師必看的書之iOS程式設計師
前幾天發布了一篇程式設計師必看的書 本書是objective c領域的經典著作,對objective c進行了系統而全面的闡述,權威性毋庸置疑。全書共分為四大部分 第一部分全面講解了objective c語言的基礎知識,包括類 物件 方法 資料型別 表示式 程式結構 繼承 多型 動態型別和動態繫結 ...
關注程式設計師健康之 程式設計師的飲食
程式設計師的飲食應該如何安排 高蛋白食品抗輻射,動物肝臟和新鮮蔬果保護眼睛,富含鉀 氨基酸等元素的食品健腦。如今,電腦越來越普及,許多人不僅在單位使用,家裡也安裝了電腦,由於操作時間不斷延長,一些疾病也隨之而來。日前,程式設計師張先生因為每天與電腦為伍十幾個小時而肩痠背痛,眼睛痠腫,動不動就感冒,諮...