编程的奥义
編程的意義,不在于熟練地掌握一門編程語言,不在于挑戰高難度的算法,而在于“應用”。
一段程序,只有當被用于解決實際問題時,才接近編譯的本質。
當遇到難題時,用一種程序的思想去解決問題,這就是程序員。程序員,亦是一個熟練掌握各種應用軟件的電腦老鳥,但是在使用各類應用軟件解決實際問題時,總有個效率的問題。解決問題的效率,是評判一個應用軟件是否成功的關鍵。
通用的應用軟件,意在解決大部分用戶的應用難題,所以包含了各種各樣的繁雜的功能,可供用戶使用并解決各類應用難道,提高解決問題的效率,它好比是某個專業領域的專家,然而,正因為軟件所以包含的功能至多,造成了在解決某些細節問題時,有一個效率降低的問題。
舉個例子來說,做一個投票計數的記錄器,當然可以用EXCEL來做,示例如下:
_____________________________________
|???????參選人甲????|??????參選人乙??????|??????參選人丙?????|
------------------------------------------------------------------
|??????0 票???????????? |??????1 票?????????????? |??????2 票????????????? |
-----------------------------------------------------------------
EXCEL這類的軟件,我統稱其為通用型應用軟件,因為其設計理念是解決大部件用戶的大部分應用難題,提高大部分難題的解決效率。
但是,上面一個例子在實際應用時,就出現效率的問題了。當參選人甲增加一票時,你如何修改“0 票”這個數據呢?首先,要選中相應的單元格,然后修改其中的內容,比如輸入字符“1 票”將“0 票”這個數據覆蓋。然后,當參選人丙增加一票時,用戶要移動光標位置到相應的單元,再次輸入相應的更新后的字符數據。但是,這樣一來,操作的效率顯示比較低,用戶或者移動鼠標或者按鍵盤方向鍵,然后往鍵盤上打字輸入更新后的字符數據;當更改其它單元數據時,重復此操作。
為了解決通用型應用軟件在解決某方面問題時效率低下的問題,從程序員的角度出發,不是想方設法弄清楚EXCEL軟件中是否有更好的更高效的處理方法,也不是墨守成規式地忽視效率問題被動地接受EXCEL軟件在這個方面的處理短板。
為了解決通用型應用軟件在解決某方面問題時效率低下的問題,從程序員的角度出發,應該是怎樣呢?程序員的第一個想法,應該是——我要做一個軟件,解決這個問題,提高問題的解決效率。是的,學習的目的不就是于“學以致用”嗎?學了,懂了,就要會“用”,而且要“用”得好,“用”得對!
很多人學了多年程序,但是一直沒有多大的成績出來,糾其原因,我想大部分還是因為其不能將所學學以致用!
用VC編寫的一個小軟件,將單元格顯示記錄數據的方式,改為按鈕方式,當數據增加時,用戶只需要點擊相應的投票按鍵,省去了打字更新數據的繁瑣操作,而且采用圖形可視界面代替表格界面,使數據更直觀。附上軟件的效果圖,如下圖所示:
?
轉載于:https://www.cnblogs.com/techstone/archive/2012/08/17/2664467.html
總結
- 上一篇: CDU集训代码:输入输出训练
- 下一篇: javascript DOM(08-21