有效编写python / c ++初学者软件的资源/书籍建议

时间:2012-03-14 00:02:08

标签: c++ python

我正在寻找有关更有效地编写软件的资源/书籍建议。我刚刚完成了几个python课程,c ++和数据结构,我知道现在如何编程的基础知识,但我还有改进的余地。我会说我有大约100个小时的经验。我正在寻找从这里开始的目标...目标是建立我的编码技能。

我不想要一本只是为了阅读的书,而是一本带有具体例子的书,我可以借鉴。我认为我最大的问题是我已经制定了自己的设计方法并自己编写了所有代码,我需要扩大视野,看看其他人是如何做到的。

我是初学者程序员(python和c ++),我觉得我花了太多时间调试和重构我的代码并自学设计方法。我最长的项目是500 LOC,我需要一本好书,最好用具体的例子,而不是自己重新发明轮子。我需要的最重要的事情是设计软件。我听过关于这帮四本书的各种谈话。这是我应该考虑的事情吗?

我正在学习很多东西,但我认为如果我能从一本写得很好的书中学习,我的进步会快得多。到目前为止,我所学到的一切都是为了完成我的项目而做的。对于其他课程,我希望能够更熟练地编写代码。我想我的最终工作将涉及编码的重要方面。

感谢您抽出宝贵时间回答或讨论这个开放式问题。

编辑:是否有一个等效的python列表? - The Definitive C++ Book Guide and List

3 个答案:

答案 0 :(得分:2)

一开始就远离GoF书。真正帮助我起步的那本书更容易消化......

http://www.amazon.com/Design-Patterns-Explained-Perspective-Object-Oriented/dp/0321247140/ref=pd_sim_b_20

这是GoF书籍的温和入门书。这将使您获得正确的心态,并为任何OO语言提供有用的信息。祝你好运。

答案 1 :(得分:1)

设计很重要。很重要。但为什么?因此,您以后不会遇到可扩展的问题,因此当您离开组织时,您的代码可以被其他人轻松掌握和维护等等。

然而,在谈到上述内容之前,更重要的是编写好的算法&构建可扩展数据结构。即使你有非常好的&设计良好的代码,但低于平均算法它没有任何意义,因为你没有给你的客户设计,但伟大的算法。设计适合您和您的公司&为未来。人们可能会说,一旦有了良好的设计后端算法,您可以随时更改。这不正确开发人员是拖延者(阅读Perl创建者的伟大程序员的三个优点:))。甚至创建C ++ STL的亚历克斯·斯捷潘诺夫也为某些算法编写了一个二次例程,他说STL已经发布了很长时间,并且他同意如果他不懒,他就会做出更复杂的事情。

我并不是说设计并不重要(请阅读我的答案的起始行),但是包括算法(具有很大的空间/时间复杂性),可扩展的数据结构在内的所有内容都与Design密切相关。在进入设计之前,应该掌握或学习这两个并且很好地练习(相信我会在编码时遇到反模式,你自己会自动将它们转换为好的设计模式)。在课程中你将自己发明设计模式(然而像GOF或Head First Design Patters这样的书可能会给你一个良好的开端)。

我建议首先阅读Jon Bentley的一本名为“Programming Pearls”的书。如果您愿意,可以尝试用Python编写这些东西。解决这些问题,你会获得很多。然后去做设计。

答案 2 :(得分:0)

如何设计程序对我来说真的很有帮助,它可以在互联网上免费获取(http://www.htdp.org)。它使用方案/球拍,这与c ++和python等语言非常不同,但设计原则仍然适用,并且它是一本在大学中常用于初学者/中级软件设计课程的书。