-2

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

4

3 回答 3

1

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

想象一下,你有一个工具箱,你问如何将它用于抽象任务。您期望得到什么答案?这几乎就是你问的问题。

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

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

例如,如果您正在开发一个 Web 应用程序,那么您有一些工具可供选择。钻头、起子、冲击起子、冲击扳手……哦,这些来自勤杂工的工具箱……你有一个不同的工具箱,其中有 Java 堆栈、Microsoft 堆栈、Ruby on Rails、PHP 和其他更奇特的技术堆栈。根据任务和您的个人经验或资源可用性,您可以做出决定。

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

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

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

于 2013-02-11T08:00:15.940 回答
0

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

  • 第一眼就将问题作为一个整体来考虑。尝试清楚地理解预期的输入和输出以及总体思路。
  • 正如您已经提到的,将问题分解为有意义的作品/逻辑片段是很重要的,这些作品/逻辑将相互“对话”。如果你认真对待上一步,它可以帮助你很多
  • 选择好每一件作品后,开始思考解决那个小部分的想法。不要将您的思想局限在您已经熟悉的可用工具上。想想这个想法。有许多您不了解的工具/包/等,在完成您的想法后,您可以在网上找到它们,让您大吃一惊!
  • 如前所述,不要限制自己,只需考虑您将要使用的编程语言的性质。有时,您可能会在那里面临一些限制......
于 2013-02-11T08:02:24.130 回答
0

使用费曼问题求解算法:

  1. 写下问题
  2. 好好想想
  3. 写下答案

第一步是最重要的一步。第一步的本质是,为了解决一个问题,你必须首先理解它。你不必把它写下来。如果你觉得写作很无聊,你可以向某人(同事甚至橡皮鸭)描述你的问题。大多数问题都可以通过这种方式解决。

如果第 1 步失败,您需要求助于第 2 步。如果您觉得很难思考,还有其他选择。既然您已经完成了第 1 步,您现在就知道问题所在了。因此,您还知道要向 google 提供哪些关键字。使用良好的 google charma,您应该会获得一些不错的点击率,可能是在 stackoverflow 上。如果没有,您可以在 stackoverflow 上提出一个新问题,也可以认真思考并自己解决问题。

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

于 2013-02-11T08:03:46.333 回答