2013-02-11 59 views
-2

好吧,所以如何解决这个问题以及如何解决这个问题有一百万个问题,但是我找不到一个关于如何真正解决一般编程问题的好资源。就像首先将问题分解成简单的部分并单独攻击每一部分或者等等等等。我知道,如果你看看优秀的程序员,他们都会在解决问题时遵循一定的路径,如果你比较这些优秀的程序员方法,你可以看到他们的方法跨越很多地方。因此,对于所有新来者和程序员来说,解决典型编程问题最好的一步步方法(准则)是什么?解决编程练习的一般指导方法?

+0

http://www.javacamp.org/designPattern/ – 2013-02-11 07:47:52

+0

http://www.howtoprogram.it/ – Azodious 2013-02-11 07:48:25

+0

考虑到无数使用计算机应用程序的领域,我怀疑你可以想出一个步骤一切的一步指南。我认为你提到的那个是唯一真正拥有的一个。将事情分成小块取决于给定人的经验和知识。具有不同背景的不同人将很可能将相同的新问题分解成不同的块。 – npinti 2013-02-11 07:49:11

回答

1

你的问题在学术上是抽象的,这意味着它不能为你提供有价值的指导方法来解决实际的编程问题。

想象一下,您有一个工具箱,并询问如何将其用于抽象任务。你期待什么作为答案?这几乎是你问的问题。

尽管如此,对于每种类型的任务选择哪种工具以及如何对其进行操作,还有一些指导原则。

首先,你必须选择技术(工具)来使用你的任务。有几种类型的程序,你必须了解你正在处理哪一个。你必须考虑你的预算,上市时间和其他限制。例如,如果您正在使用Web应用程序,那么您可以选择几种工具。钻子,驱动程序,冲击驱动程序,冲击扳手......哦,这些都来自杂工工具箱......您有一个不同的工具箱,其中有Java堆栈,Microsoft堆栈,Ruby on Rails,PHP和其他更具异国情调的技术堆栈。根据任务和您的个人经验或资源可用性,您可以做出决定。

当你拥有自己的技术时,你可以深入探索(阅读你即将使用的工具的使用说明)。在IT世界的指示将是书或其他类似的资源。特别是,为了正确设计Java或C++/C#应用程序,您需要熟悉基本的设计模式。另一方面,如果您使用的是Ruby on Rails,那么这些模式对您并不会有好处。

最后但并非最不重要的一点是要学习如何组织项目的工作。如何将一个大项目分成更小的任务,如何跟踪进度并确保其按时完成。除了编程技巧之外,它还使您成为项目经理。

有几种流行的方式来管理IT项目(不仅仅是IT)。最流行的就是所谓的敏捷方法论。这基本上是一套指导方针。您可以选择适合您的项目和您的团队的项目。

0

考虑到你已经熟悉编程的东西,这些都是来我的心步骤:

  • 考虑的问题作为一个整体在第一一目了然。试着清楚地理解预期的输入和输出以及总体思路。
  • 正如你已经提到的那样,把问题分解成有意义的作品/逻辑片断是非常重要的,这些作品/逻辑片段将互相“交谈”。如果你认真对待前面的步骤,它可以帮助你很多这个
  • 选择每件作品后,开始考虑一个想法来解决这一小部分。不要限制你已经熟悉的可用工具。想想这个想法。有许多工具/软件包/等等,你不知道他们在完成你的想法后可以在网上找到并给你带来惊喜!
  • 如前所述,不要限制自己,只要考虑要使用的编程语言的性质即可。有时候,你可能会面临一些限制,有...
0

使用费曼问题解决算法:

  1. 写下问题
  2. 觉得很辛苦
  3. 写下答案

第一步是最重要的一步。第一步的本质是为了解决问题,你必须首先理解它。你不必把它写下来。如果你发现写作无聊,你可以反而向某人描述你的问题(一个co-worker或甚至一个rubber duck)。大多数问题可以通过这种方式解决。

如果第1步失败,则需要使用第2步。如果发现思考难度过大,还有其他选择。既然你已经完成了第一步,你现在就知道这个问题了。所以你也知道什么关键字提供给谷歌。有了良好的谷歌查理,你应该得到一些好点击,可能在stackoverflow。如果不是的话,你可以在stackoverflow上提出一个新的问题,或者真的认真思考并自己解决问题。

第3步。很简单。你明白这个问题。你已经想出了一个解决方案。剩下的就是编写,测试和记录代码。不应该太难,只是面包和编程节目的另一天。