2011年10月2日 星期日

我在旗威的日子 (二) -- 與VB的邂逅

2002/6



說到VB,雖然早在約20多年前就在8位元電腦上接觸了Basic,教我第一個程式是正在上大學的叔叔,其間斷斷續續一直有在自修Basic或QBasic,可惜都沒辦法很有系統地學好:一來小學時的邏輯概念訓練得還不夠健全,而中學的課業壓力又重,沒有很充分的時間去理解程式編排與變化;其次就是沒有一個好的應用環境讓我可以磨練寫程式的功力,環境真的很重要,因此要學習好任何一樣東西,儘量先營造出適合學習的環境,這樣才能事半功倍。



後來開始接觸VB,是上大學受到室友與學校專題的影響,那時才真正開始對程式的架構有一點概念,不過接觸的時間依舊很短,所以也沒能學到將VB應用自如的程度。此時的網路發展正到了一個飛速成長的階段,大量的資料被整理放上Internet,這時才是我學好VB真正的契機。



**************************************************************************



進公司後第一個用VB寫的程式,是AT2051數位溫度計的連線程式,這是我第一次對編碼與通訊可以完整且有系統地學會的好機會,也是在此時,我對ASCII碼、MSComm元件、Timer用法有了全盤熟悉的學習環境。



因為寫書的需求,除了連線程式外,還需要撰寫燒錄器的燒錄程式,以及連線資料與Excle圖表結合的程式,這些都是以往完全沒接觸過的領域,說實在的,當初面對這樣的題目,心裡的壓力還不小,哈哈~~



接下來就來分享一下我學習VB的一些經驗吧!





1. 主題很重要:



前面落落長的內容裡,提到一個最重要的觀念,就是寫程式一定要有環境,一定要確定一個主題並全力去完成,這樣才能真正學好程式。一般來說,對自動控制系統而言,PC端的程式多半屬於『人機介面』的程式應用,他需要具備一些連線功能,最好能存取檔案,記錄數據並匯成表格,還有一些簡單的邏輯判斷跟IO控制參數,這樣的主題可以很全面地學好VB各個物件的整合與應用。



少了這樣的主題,就容易變成只是很單純地練習VB用法,很難去發現應用過程該注意的一些邏輯排列或使用限制,學VB也會變得比較沒有效率。





2. 善用MSDN:



MSDN是語法的資料庫,所有在VB裡面的語法都可以在這裡查到相關的訊息,不過MSDN並不是那麼平易近人,查到了相關的內容之後,建議還是Google一下有沒有別人使用的心得或範例,這樣會比較容易理解。





3. 不要用自己看不懂的語法:



很多人在網路上抓到了一些範例,覺得它的功能很好用就照單全收,可是經過一段時間後,有些功能需要調整或升級,卻完全不知要從何改起,不管從哪裡切入都改不好!如果你也有這樣的問題,建議你寫程式盡量用自己熟悉的語法就好,if else跟for next的用法可以滿足大多數邏輯判斷跟迴圈應用,撰寫時在適當的地方加上判斷的註解,將來不管是自己要維護或是和別人的程式結合都會變得很輕鬆。



不要以為用很艱深的語法就叫功力深厚,因為語法本身有沒有效率?是不是經過最佳化?物件跟物件之間的使用條件相不相容?這些才是撰寫程式最需要注意的地方。





4. 養成多參觀別人程式的好習慣:



多看別人的程式,可以學習別人撰寫程式的邏輯思考模式,有缺點的地方可以提醒自己要改進,優點則可以想辦法在自己的程式中加入,同時也可以訓練除錯與整合的技巧,好處多多唷~~





其實不僅僅是VB,大多數的程式撰寫都要養成這樣的習慣,雖說這些日子以來,微軟開始有點被蘋果追著打的感覺,但主流上還是很多人用微軟的環境進行開發,強勢的單晶片幾乎是清一色把開發環境都建立在Windows XP上面,所以不需要太早對微軟喪失信心,只是憂患意識使然,多學習一些其他平台的程式開發還是必要的。



強烈推薦這個作者:http://www.hmhsieh.idv.tw/kjasp/ch16/Vb/VBMAIN.HTM

基本上我當時都是看他的書學VB的。



以上就是一些心得分享,謝謝收看。下一篇文章,我們來認識一下電路與電子零件吧!



**************************************************************************



工欲善其事,必先利其器。

2011年10月1日 星期六

我在旗威的日子 (一) -- 校稿

2002/5 ~ 2002/8



前文提到:進入公司後的第一個工作是校稿。



***************************************************************



對8051還完全陌生的我,進到公司的第一份工作是協助『8051單晶片 徹底研究』系列叢書做校稿。



http://www.chipware.com.tw/chinese/8051-1.htm

http://www.chipware.com.tw/chinese/8051-2.htm

http://www.chipware.com.tw/chinese/8051-3.htm



同時間除了校稿,也寫了一些相關的應用文章放在書裡,初版因版面太大頁數太多,所以把一本拆成了三本,可是這一拆卻變成份量稍嫌不足,因此一鼓作氣補上了許多的應用範例,其中有小小一部分算是我的學習心得整理。前前後後約三個月時間,我學好了8051並開始進行產品開發,這全都歸功於這三本書的功勞!



來提一下校稿的心得吧。



你覺得校稿的樣子應該像什麼?一直看著內容找錯字?嗯......大致上來說這是一個對的方向,但什麼叫錯字?某些特別改掉常用的詞彙,將兩個或三個不同的詞拼湊起來的新詞,算不算錯字?這的確是個很難回答的問題,不過嚴格來說,校稿還是要分性質來訂定方向,才不會矯枉過正。



拿我所校稿的專業書籍為例,在校稿時要針對人性習慣的弱點去校正:



1. 英文的不敏感性:大小寫使用時機,單位符號使用。



這一類的文字並不是我們所常用的,在前幾次校稿時很容易被忽略,因此我會特別訂下每一次校正時所要校正的焦點,如果是針對英文用詞或是單位,那麼整篇文章我就只看英文字跟單位符號就好。





2. 標點符號的統一性:全半形,特殊單位標記。(幣值符號,溫度符號)



標點符號的校正很令人困擾,其中還不乏有空格去影響排版的問題,最快速的方法就是要理解原稿撰寫時的習慣,善用文書排版工具中的『替代』功能,像我們常用的『......』,在全形狀態下是以兩個『…』去完成的,為了讓頁面排版時的閱讀感要很舒適流暢,標點符號的使用與安排是很重要的。





3. 正式名稱與俗稱混用:



這雖然不算是錯誤,但是因為技術用語常有一些別於正名的稱呼方式,如果沒有特別交待,往往會造成閱讀的困擾。舉例來說,MCU也可以稱為micon(埋控),又可以說成微處理器、微控制器,這些說法如果全部隨機地出現在書的各個角落,那麼就會讓人覺得書不是一個人完成的,又或者閱讀上有不連貫,沒有一氣呵成的感受。因此校稿時要留意這一類的用語,盡量能一致比較好。





4. 習以為常的錯誤用法:



"Intel" 跟 "intel" 哪一個寫法才對?"Acer" 跟 "acer" 哪一個寫法才對?

我們常以為名字的第一個字母應該大寫,但對商標來說,有時第一個字母是小寫才對,有興趣的人不妨去研究一下,我們在校稿的時候,對這些細節也是要很注意的。





再來,人的眼睛準確對焦的持續時間,大約在40~60秒之間,接著會有1~2秒是屬於idle的狀態,在idle狀態下恢復對焦的瞬間,最容易抓到 "bug",校稿時要善用這短短的瞬間,別讓眼睛長時間太專注在文字上,既累又沒有效率。



當然,校稿也考驗一個人的文學造詣,成語誤用的情況其實還蠻常見的,不單單只是錯別字要校正,措詞上更要避免模糊不清的雙關用法,才不會造成讀者對技術知識的誤解,以上就是一些校稿的心得分享,請看倌們不吝指教。