这可能是一个无可救药的模糊问题。但我很想听听人们在学习新概念或试图让大脑理解他们以前可能从未见过的代码时所经历的逻辑思维过程。

基本上,要采取哪些一般步骤来解决问题以及如何才能“解决问题”?如果你要绘制一个流程图来说明当你查看代码或尝试解决问题时你的思维过程是如何运作的,它会是什么样子?

您认为哪些常见的参考资料、技巧和心理假设对解决问题有用?

不同域之间有何不同?例如,网络程序员的思维过程与传统桌面应用程序开发人员的流程有何相似或不同?

有帮助吗?

解决方案

我坚信,无论您第一次查看什么类型的应用程序,可能是 Web 应用程序、桌面应用程序、设备驱动程序或其他任何应用程序,开发人员通常都会遵循三个步骤为了理解它是如何工作的:

了解大局:

  • 这是什么类型的应用程序(网络、桌面……)?
  • 它是如何分层的(独立、客户端-服务器、n 层……)?
  • 该应用程序的目的是什么?它应该做什么?
  • 该应用程序是为谁设计的?

看看它怎么运作 :

  • 使用什么语言?
  • 代码的结构如何?
  • 数据的结构如何?

了解(或至少尝试)应用程序的设计方式:

  • 有没有彻底思考过?
  • 该应用程序是否明显优化?(为了表演?为了可读性?)
  • 应用程序完成了吗?或者还有进化的空间?
  • 是否有多次发布的迹象?
  • ETC...

第一步和第二步纯粹是技术性的,而第三步必须是 非技术性的 尽可能...它更多的是关于心理学和理解应用程序是如何构建的。这显然需要经验,但只要你足够努力思考,不要在技术细节上浪费你的大脑时间,你最终会得到它。

整个过程不需要使用键盘。你只需要阅读、思考并在纸上做笔记(我不是在开玩笑:笔和纸!)。

其他提示

何浩,好运与这一个。这是一个很大的问题,我相信你会得到一吨的答案。虽然我必须说,我不能给出一个满意的答案,这 - 的最后一件事我会形容我的思维过程如流程图 - 我不认为有任何的黄金公式来进行

在问题的唯一解决提示我可以推荐与别人讨论这个问题。在那些当你撞了南墙次,通过它去与同事是无价的。很多时候,还有,他们实际上甚至没有增加太多的讨论 - 在得到所有的想法在开放的过程中,该解决方案可以变得清晰

人们在审视自己的思维过程不好是众所周知的,但我会试一试。我测试的智商视觉一空间的能力非常的高,中到高的口头表达能力,和温和的数学技能(我的解释A级数学年级时,我想)。 AMD当我开始设计的软件,我想在形状上与它们之间的连接。当谈到描述这些想法给他人(或澄清他们自己),我用简单的框图或Jacobson的对象工厂方法所采取的对象图 - 而不是在复杂的东西,UML建议。我有时候写的复杂的事情文字描述,主要是作为提醒自己,但从来没有使用数字或数学。

当然,这只是我 - 我与谁是一样好,学有专长数学,甚至更好的程序员比我工作

我不认为......我处理。

这是比它听起来较少实际翻转。我总是分解任务,纳入组件,然后再打破这些下来,不只是去编写软件!很像@马克皮姆Ü经过东西顺序。

我的妻子变得非常恼火,当我做晚饭,因为我花了这么长时间上手。

分割和治

我试图掌握整个问题,因为它是什么,然后开始寻找模式,我认得出,并以一种递归过程中做同样的他们开始,直到我有一个细分的解决方案,我可以执行和落实更容易。

这是罕见的时候,我将与回答的一个“很好用。”我通过他们steamrolling学习的东西。我没有噱头,或设备来帮助我。我花了一些时间来学习PHP,但在那之后JavaScript是容易得多。一旦你解决一两件事,接下来的项目变得累计-容易。

我个人从事与自己的内心对话“OK,所以我们需要循环整数此列表。” “但是,当我们找到我们想要的值,我们可以打破。” “OK,将名单肯定会当我们开始初始化?”

我很想看看是否有任何心理研究已就解决问题的技巧来完成。

乔纳森·桑普森相似 - 它那种只是作品

当我攻击一个真正的问题,我试着想打通它是最合乎逻辑的方式。 然后,当一切错误的(因为它通常如此),我必须做出上百回避的把事情做好。只要继续聚焦于最终目标,是符合逻辑的方式,你会到达那里。

最后,虽然,它决定了我的工作,我最终成品就是平时没事喜欢我的计划出来的人。只要客户满意,我!

就个人而言,我看到在我的脑海代码pictorally而不是文本形式(如尼尔·巴特沃思) - 这是一个有点困难的,因为(报价STIV)来形容“有参考没有共同的框架。”

我的主要技术人员被识别的模型或系统我已经知道和手头的任务之间的相似性。之间的一些这些似乎很抽象的连接;关键是察觉的连接。这导致共同的模式和方法,其产品广泛适用的抽象。与此相关的,我了解的算法,最重要的是,这个问题是永远不会“想出一个聪明的算法来解决X”。它的“模型问题X,使得它可以通过现有的智能算法y为解决”。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top