推 lisaforlisa :謝謝你的建言 我會想一下的 >< 05/19 21:02
: (因為我個人很追求完美 所以對自己要求比較高了一點...
你要先定義出什麼叫完美
事實上,人人都在追求自己的完美
如果今天老師叫你寫一個'讓英文字母 A 跳躍的程式'
於是你寫了這種
for (int iPos=0;iPos<80;iPos++)
show(iPos,'A');
算是交差了
然後你'追求完美',自己想寫 A 到 Z
(話說這是以前我去某電腦補習班查勤看到的實例呢 :P)
那位追求完美的同學這麼寫
.... (不重要的程式我就點點點啦,大家程度都有到,看懂就好)
show(iPos,'B');
....
show(iPos,'C');
.
.
.
.
....
show(iPos,'Z');
以上,這位同學是比較有學到東西,但他有學到 26倍嗎?
後來他又補上小寫部份,他學到 52倍嗎?
當然,我們可以教這個
for(char c='A';c<='Z';c++)
....
show(iPos,c);
很容易的做到'A 到 Z 的相似成份處理'
這和原例相比,我只會說我多學會了巢狀的觀念
而且比較活,不必打一堆重覆的碼
至於原來的做法當然重打 26次相似的程式,並不叫學習有 26倍的成長
從這裏我們可以修正自己的期許為
'是否可以有系統的,學到一些關鍵,靈活,重覆性少的東西'
或者你再來定義更完整一點
因此拿一套現有產品來學,我不認為不好
因為有些東西我們又稱 overhead
就是說..起跳門檻
如果沒別人寫一堆強大的副程式給你 call,你要學程式還要掙扎很久呢~
就好像我剛才一直用 show 這個函式
但我偏沒交代 show 的 code 對不對?
因為那不必我來寫,也許我修改別人的軟體,別人寫好給我 call
馬上上手,很好很強大~
因此,對於留言板
強大的功能會不會只是像 A到Z 一樣,單調重覆一堆東西?
其實你學會顯示A,當然 B,C,D...Z 你都會
那是不是應該有系統的把'關鍵'的東西學會?
;;
有時我會跳出程式設計,重定義我的完美為'美感'
一個功能很多但介面不吸引人的網頁,能稱為完美?
再下一階段,完美的因子又加入'行銷'
再美的網頁,不符合客戶需求,客戶不想來用,能稱為完美?
;;
想自己來是 OK,再難也有高手
但人家要陪你看長達數十頁的程式?
(程式可讀性經常只存在自己與自己之間
有人甚至放不到幾個月,自己就看不懂了)
或者你有法子關鍵性的只拷出必要的幾行?
挑個公模來學,算不錯的點子啦
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.59.179.152