會寫程式不代表寫得好...
寫低階的就算了(甚麼內嵌式系統設計之類的..這種我不懂..也不敢講..!!)..
上層的部分..
在OO的時代...
國內很多程式設計師都忽略..
軟體設計的重要性..
也就是OOP學完...
應該要邁向UML/Design Pattern..
這個是讓編程功力大增的關鍵..
不要懷疑..!!
我問過一堆Programmer..
有些還稍微知道那是啥東西...
但是有些是連這東西是甚麼鬼都不知道(大學剛畢業新人大概9成都不知道..Orz..)...
我舉例..
例如一組數字拆成一個種編號要進行不同的格式判斷..
example:AA|BBB|CCCC|DDDDDDD..
傳統結構化程式設計的..
有些就會想辦法在一個Class全部封裝進去...
不然就是利用一些繼承(extends)的概念促使重用性(reuse)的增加..
這樣的code..
我一看到就會昏倒..
不論是擴充彈性、可維護性都實在太差勁了...
如果說引入"良好"的Pattern就可能會讓這些缺點盡量打消(甚至消失..)..
例如我可以混上Decorator+Strategy..
可以實現不斷的包裝以及不同的算法封裝...
除了可以盡量讓責任單一..
維護性和擴充性不就好更多了??!!
市面上這類書不難找..
不一定只是難看的聖經本-Gof..
UML/Design Pattern基礎打好了(Pattern太多了..要學完也不容易..要全記起來更是困難..!!)..
朝向Framework前進..
良好的Framework可以達到鬆散(decouple;即符合OCP)、顛覆傳統依賴(讓高階依賴抽象、讓低階也依賴抽象)等的能力..
除此之外..
也可以補足一些其他書籍當作小說與常識看看(如果有辦法的話..

..)..
像Grady Booch,Robert等出的OO Analysis and Design with Application這類書籍..
敏捷軟體開發..
有些幾乎絕版的好書..
像Applying UML and Patterns..