我是自学的。我目前在 Rails 中完成大部分工作。有时我发现解决复杂的编程问题很困难,我相信我们很多人都会这样做。有什么好的学科或书籍可以提高编程解决能力?
有没有关于这件事的具体书?也许像数学、代数、微积分之类的东西?通用计算机科学?像这样的书http://pragprog.com/book/ahptl/pragmatic-thinking-and-learning?通用 OOP?
我是自学的。我目前在 Rails 中完成大部分工作。有时我发现解决复杂的编程问题很困难,我相信我们很多人都会这样做。有什么好的学科或书籍可以提高编程解决能力?
有没有关于这件事的具体书?也许像数学、代数、微积分之类的东西?通用计算机科学?像这样的书http://pragprog.com/book/ahptl/pragmatic-thinking-and-learning?通用 OOP?
我有超过 20 年的编程经验,根据我的经验,一些提高编程技能的好方法是(没有任何优先顺序)
a) 解决复杂的编程问题
b) 重新审视您的解决方案,看看可以在哪些方面进行改进(至少 2-3 次通过)。一本包含改进程序技巧的好书正在重构:http ://www.amazon.com/Refactoring-Improving-Design-Existing -代码/dp/0201485672
c) Dobbs 博士是获取技巧和见解的绝佳网站: http ://www.drdobbs.com/
e)查看其他人的代码,例如。开源代码,这样您就不会在良好的心态中发展青蛙。这是学习良好实践的好方法。
f) 学习使用多种语言(例如 Java、PHP)进行编程。这也是提高技能的好方法。
g) 在编写代码时尝试并始终考虑“最佳实践”。HTH。
了解您的数据结构和算法以及设计模式。Design Patterns by the gang of 4 很好地推荐 Head first into design patterns 也是一个不错的选择。
我个人做编程难题,我在codingbat.com、pojecteuler.com、uva.onlinejudge.org 和其他可以在google 上找到的网站上找到在线难题。我相信 UVA 有一本培训参加比赛的人的书。还反弹http://www.reddit.com/r/learnprogramming和 http://www.reddit.com/r/programming
但是,是的,擅长某件事的最好方法是一遍又一遍地做。
有很多关于计算机科学的书籍,但最好的恕我直言,计算机程序的结构和解释:http: //mitpress.mit.edu/sicp/full-text/book/book.html
离散数学教科书,例如Graham、Knuth 和 Patashnik 的《 Concrete Mathematics: A Foundation for Computer Science 》,将是有益的。