为Python / C ++初学者有效编写软件的资源/书籍建议

Resource/book suggestion to effectively writing software for python/c++ beginner

本文关键字:资源 软件 Python 初学者 有效      更新时间:2023-10-16

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

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

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

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

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

编辑:Python有等效的列表吗? - 权威C++书籍指南和列表

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

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

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

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

然而,在讨论上述内容之前,真正重要的是编写好的算法和构建可扩展的数据结构。因此,即使您拥有非常出色且设计良好的代码,但低于平均水平的算法,它也没有用,因为您不是在为客户提供设计,而是在为客户提供出色的算法。设计是为您和您的公司以及未来的。人们可能会说,一旦有好的设计后端算法,您可以随时更改。这是不对的 开发人员是拖延者(阅读Perl :)的创建者对优秀程序员的三个优点(。甚至创建STL C++Alex Stepanov也为一些算法编写了一个二次例程,他说STL已经发布了很长时间,他同意如果他不偷懒,他会做更好的复杂事情。

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

我会推荐一本Jon Bentley的书,名为"编程珍珠"。如果你愿意,试着用Python写这些东西。解决这些问题,你会收获很多。然后去设计的东西。

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