2012-06-07 49 views
0

我是自學的。我目前正在使用Rails進行大部分工作。有時我發現很難解決複雜的編程問題,因爲我相信我們中的很多人都這樣做。學習如何提高編程解決能力是一個很好的主題或書籍?提高編程解決方案技能的圖書推薦

是否有關於此事的特定書?也許像數學,代數,微積分?一般計算機科學?像這樣的書http://pragprog.com/book/ahptl/pragmatic-thinking-and-learning?一般OOP?

+1

看看其中一些http://stackoverflow.com/q/194812/1017941 – Hauleth

+0

可能重複[每個程序員應該閱讀什麼是最有影響力的單本書?](http://stackoverflow.com/問題/ 1711 /什麼是最有影響力的書 - 每個程序員 - 應該閱讀) –

+0

如果沒有別的,** 1,440 ** upvotes和驚人和有趣的答案值得一讀! –

回答

6

我有超過20年的編程經驗,在我的經驗一些很好的方法來改善您的編程技巧(不按優先順序排列)

一)解決複雜的編程問題

B)重溫您的解決方案,看看哪裏可以做出改進(至少2-3次通過)。一本有改進您的程序的提示的好書是重構:http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672

c)Dobbs博士是一個很棒的網站,可以獲取技巧和見解: http://www.drdobbs.com/

e)看看其他人的代碼,例如。開放的源代碼,所以你不會在井井有條的情況下開發一隻青蛙。這是學習良好做法的好方法。學習用多種語言編程(例如Java,PHP)。這也是 提高技能的好方法。

g)嘗試並總是在編寫代碼時思考'最佳實踐'。 HTH。

+0

除了學習多種語言之外,在Rails中它還有助於學習多個數據庫。ActiveRecord/ActiveModel對數據庫的抽象有時隱藏了查詢的複雜性,而且我發現當你沒有AR/AM的面紗來隱藏討厭的比特時,解決相同的問題通常是非常有趣的。 – Ron

3

瞭解你的數據結構和算法和設計模式。 由四人幫的設計模式很值得推薦 首先進入設計模式也是一個不錯的選擇。

我個人做編程謎題我發現編碼網站,pojecteuler.com,uva.onlinejudge.org和其他網站上你可以找到谷歌網上謎題。我相信UVA有一本用於培訓參加比賽的人的書。 還蹦蹦跳跳http://www.reddit.com/r/learnprogramminghttp://www.reddit.com/r/programming

但是,是的,以獲得良好的東西的最佳方式是一遍又一遍做。

1

由Graham,Knuth和Patashnik編寫的離散數學教科書,如具體數學:計算機科學基礎將是有益的。