预订建议以提高编程解决方案技能

时间:2012-06-07 18:28:01

标签: ruby-on-rails ruby

我是自学成才的。我目前正在Rails中完成大部分工作。有时我发现很难解决复杂的编程问题,因为我相信很多人都会这样做。为提高编程解决技能而学习什么是好主题或书?

是否有关于此事的特定书籍?也许像数学,代数,微积分?通用计算机科学?像这样的书http://pragprog.com/book/ahptl/pragmatic-thinking-and-learning?一般OOP?

4 个答案:

答案 0 :(得分:6)

我有超过20年的编程经验,根据我的经验,一些提高编程技能的好方法是(不按任何顺序排列)

a)解决复杂的编程问题

b)重温你的解决方案,看看哪些方面可以做出改进(至少2-3遍)。一本改进你的计划提示的好书是重构:http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672

c)Dobbs博士是一个获得提示和见解的绝佳网站:    http://www.drdobbs.com/

e)看看其他人的代码,例如。开源代码,所以你没有    以良好的心态培养出一只青蛙。这是学习良好实践的好方法。

f)学习用多种语言编程(例如Java,PHP)。这也是一个很好的方法    提高技能。

g)在编写代码时尝试并始终考虑“最佳实践”。 HTH。

答案 1 :(得分:3)

了解您的数据结构,算法和设计模式。 四人帮的设计模式是值得推荐的 首先进入设计模式也是一个很好的模式。

我个人编程拼图我在codingbat.com,pojecteuler.com,uva.onlinejudge.org以及您可以在谷歌上找到的其他网站上找到在线拼图。我相信UVA有一本书可以培训参加比赛的人。 同时在http://www.reddit.com/r/learnprogramminghttp://www.reddit.com/r/programming附近反弹 {{3}}

但是,获得好处的最好方法是一遍又一遍地做。

答案 2 :(得分:1)

有很多关于计算机科学的书籍,但最好的恕我直言是计算机程序的结构和解释:http://mitpress.mit.edu/sicp/full-text/book/book.html

答案 3 :(得分:1)

Graham,Knuth和Patashnik等离散数学教科书,如混凝土数学:计算机科学基础,将是有益的。