解决编程练习的一般指导方法?

时间:2013-02-11 07:45:23

标签: java ruby-on-rails ruby oop coding-style

好的,关于如何解决这个问题以及如何解决这个问题有一百万个问题,但我找不到一个关于如何实际解决编程问题的优秀资源。就像首先将问题分解为简单的部分并单独攻击每个部分或任何等等等等。我知道,如果你看一下优秀的程序员,他们都会在解决问题时遵循一定的路径,如果你比较每个优秀的程序员方法,你可以看到他们的方法交叉的很多地方。那么对于所有新来者和程序员来说,解决典型编程问题的最佳步骤(指南)是什么?

3 个答案:

答案 0 :(得分:1)

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

想象一下,你有一个工具箱,你问如何将它用于抽象任务。你会期待什么作为答案?这就是你提出的问题。

尽管如此,有一些指导方针可以针对每种类型的任务选择哪种工具以及如何操作它们。

首先,您必须选择要在您的任务中使用的技术(工具)。有几种类型的程序,你必须了解你正在做哪一个。您必须考虑预算,上市时间和其他限制。

例如,如果您正在使用Web应用程序,则可以使用一些工具进行选择。钻头,驱动器,冲击驱动器,冲击扳手......哦,那些来自勤杂工的工具箱......你有一个不同的工具箱,你有Java堆栈,微软堆栈,Ruby on Rails,PHP和其他更奇特的技术堆栈。根据任务和您的个人经验或资源可用性,您可以做出决定。

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

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

管理IT项目有一些流行的方法(实际上不仅仅是IT)。最流行的是所谓的敏捷方法论。它基本上是一套指导方针。您可以选择适合您的项目和团队的工作。

答案 1 :(得分:0)

考虑到您已经熟悉编程内容,这些是我想到的步骤:

  • 第一眼就把问题看作一个整体。尝试清楚地了解预期的输入和输出以及总体思路。
  • 正如您已经提到的,重要的是将问题分解为有意义的工作/逻辑,这些工作/逻辑将彼此“交谈”。如果您认真对待上一步,它可以为您提供很多帮助
  • 在选择每件作品后,开始考虑解决这个小部分的想法。不要将您的想法限制在您已熟悉的可用工具中。想想这个主意。有许多工具/包/等你不了解它们,在完成你的想法后可以在网上找到并给你一个惊喜!
  • 如前所述,不要限制自己,只要考虑您将要使用的编程语言的本质。有时,你可能会遇到一些限制......

答案 2 :(得分:0)

使用费曼问题解决算法:

  1. 写下问题
  2. 认真思考
  3. 写下答案
  4. 第一步是最重要的一步。第一步的本质是,为了解决问题,你必须首先理解它。你不必写下来。如果您发现写作很无聊,则可以向某人(co-worker甚至rubber duck)描述您的问题。大多数问题都可以用这种方式解决。

    如果第1步失败,你需要求助于第2步。如果你觉得难以思考,那就有另一种选择。由于您已完成步骤1,因此您现在知道问题所在。因此,您也知道要向Google提供哪些关键字。有了良好的谷歌charma你应该得到一些很好的点击,可能在stackoverflow。如果没有,你可以在stackoverflow上问一个新问题,或者实际思考并自己解决问题。

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