我在语法上对编程很了解。我不确定的是我应该如何从头开始构建一个软件。对象应该如何设计,它们应该如何相互交互。
为了了解如何编写好的软件,我试着阅读一些好的开源软件的代码,但是没有一点想法,它们是如何设计的,因为没有可用的有关代码的文档。
我想成为一个更熟练的程序员,但我不能走得更远,我非常精通编程,但现在我被困,因为我没有办法前进。
请指导我应该如何学习软件设计和下一步应该提高技能。
P.S :我是一个最狂热的程序员,我从来没有在软件公司工作过,我也不期待它。
发布于 2013-04-08 23:06:43
你基本上是在问如何设计程序。原来有一本书教你这一点,叫做…。如何设计程序 (又名HtDP)。它教你如何设计程序。它为你提供了如何分析问题、解决问题、将它们转化为算法并进一步转化为工作程序的菜谱。
请注意,“食谱”基本上是“程序”的另一个词,换句话说,这本书教你让人类在头脑中运行的程序,以便生成由计算机执行的程序。多酷啊?:-)
作者目前正在开发一个HtDP第二版草案,您可能希望阅读它,而不是第一版。有关命令式编程的材料已经被删除,并将在第二卷“如何设计组件”中介绍,但是您可以阅读第一版中缺少的章节。
请注意,HtDP假定没有编程知识,并且是针对高中生的。但不要让这阻止你:这只是意味着你可能会更快地完成一些早期章节,但我不认为你会感到无聊。
具体抽象也是沿着相似的静脉很好的读物。与HtDP一样,它不假定任何编程知识。
你可能听说过的另一本书是计算机程序的结构与解释,也就是SICP。这是有史以来最伟大的编程书籍之一,而且它也没有任何编程知识。
然而,它适合于完成在麻省理工学院学习的新手。因此,虽然它不假定任何编程知识,但它假定了相当多的领域知识,例如在电气工程、物理和数学领域。注:这些与所教授的概念无关,它们只是为了理解练习和例子。因此,最好先读HtDP或具体摘要,然后再读SICP。
https://softwareengineering.stackexchange.com/questions/194321
复制相似问题