首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有效地为python/c++初学者编写软件的资源/书籍建议

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

Stack Overflow用户
提问于 2012-03-14 08:02:08
回答 3查看 816关注 0票数 5

我正在寻找关于更有效地编写软件的资源/书籍建议。我刚刚完成了几门python课程、c++和数据结构,现在我知道如何编程的基础知识,但我还有改进的空间。我会说我有大约100个小时的经验。我在寻找下一步该怎么走...我的目标是培养我的编码技能。

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

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

我确实学到了很多,但我认为如果我能从一本写得很好的书中学习,我的进步会更快。到目前为止,我学到的所有东西都是为了完成其他课程的“项目”,我想变得更精通编码。我想我最终的工作将涉及编码的重要方面。

感谢您抽出时间来回答或讨论此开放式问题。

编辑:有与python对应的列表吗?-- The Definitive C++ Book Guide and List

EN

Stack Overflow用户

发布于 2012-03-14 13:47:33

设计很重要。非常重要。但是为什么呢?这样你就不会在以后遇到可伸缩的问题,这样当你离开组织时,你的代码可以很容易地被其他人掌握和维护。

然而,在讨论上面的内容之前,真正重要的是编写好的算法&构造可伸缩的数据结构。因此,即使你的代码设计得非常好,但是低于平均水平的算法,它也没有任何作用,因为你给客户的不是设计,而是伟大的算法。设计是为了你和你的公司&为了未来。再一次,人们可能会说,一旦有了好的设计后端算法,你就可以随时改变。这是不对的,开发人员是拖延症患者(请阅读Perl的创建者所著的“伟大程序员的三个优点:”)。就连创建了C++ STL的Alex Stepanov也为一些算法写了一个二次型例程,他说这个例程和STL一起发布了很久,他同意如果他不是懒惰的话,他会做更复杂的事情。

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

作为第一次阅读,我推荐Jon Bentley的一本名为"Programming Pearls“的书。如果您愿意,可以尝试用Python编写这些东西。解决这些问题,你会收获很多。然后去做一些设计的东西。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9694065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档