3

我不是一个全职的软件人。事实上,在过去的十年中,我 90% 的工作要么在硬件上,要么在编写低级(嵌入式)代码。

但另外 10% 涉及为开发工具编写 shell 脚本、更改内核以添加特殊功能以及为最终用户编写 GUI 应用程序。

问题是我发现自己在知识方面面临重大漏洞,通常是因为我已经多年没有完成“X”了,我要么忘记了,要么环境发生了变化。

每隔一段时间,TheDailyWTF.com 上就会出现这样的主题:“WTF:这家伙花了一整天的时间编写大量代码,而他本可以在库 baz 中调用 foobar()”。我自己去过那里,因为除了#include <stdio.h> 东西(例如)之外我不记得太多了,而且我的快速搜索不知何故错过了正确的库。

在您很少接触的编程环境中,您发现哪些方法可以有效地让自己快速学习和/或刷新自己?

4

9 回答 9

3
  • 询问您知道在您感兴趣的环境中工作的开发人员。
  • 大量搜索网络。
  • 在相关的 IRC 频道中提出具体问题(Freenode 很棒)。
  • 在 StackOverflow 和其他网站上提出具体问题。

在所讨论的编程环境的“日常流程中”确实没有任何替代品。对当前最先进的技术有良好的感觉是您只能从经验中获得的东西,因为我相信您可以在自己的专业领域进行验证。

于 2008-10-05T07:12:12.447 回答
2

我尝试了解有关我感兴趣但目前不一定使用的语言的一般新闻。能够遵循一般更改对于您必须重新拾取它有很大帮助。

除此之外,我个人认为最容易获取最新的参考书,并编写一些基本的东西让我再次适应环境,即作为一名网络程序员,我会制作一个简单的 crud 应用程序,或者一个快速的网络服务/客户。

于 2008-10-05T07:25:32.187 回答
1

对于框架/API(例如 JavaScript 框架或小部件库):

  1. 快速浏览整个 API 文档;瞥见那里的所有内容,而不是选择似乎适合您需求的第一种方法。
  2. 如果可用,请查看框架的源代码以了解 API 的用途。看看幕后的东西会有所帮助。还有一些方法将在内部使用,展示它们的真实意图。
  3. 不一定总是相信现有的代码(谷歌搜索,来自同事,来自书籍),因为不是每个人都会尽职尽责地找出使用 API 的最合适方法。有时甚至 API 文档中的示例也可能已过时。
于 2008-10-05T12:50:37.180 回答
1

在 Java、.NET 和 Python 等更新的全功能环境中,几乎所有常见问题都有库解决方案。不要想“我怎样才能用纯 C 编程”,而是“哪个库为我解决了这个问题?” 这是一种态度转变。就资源而言,我提到的三个环境的库文档都很好。

于 2012-01-05T20:25:38.737 回答
0

只是一个。当我们在处理我们的代码时,我们知道我们需要非常努力地优化关键路径,但在非关键路径上我们通常不会花费太多精力来优化。
根据您的描述,您在嵌入式上工作 90%,在休息上工作 10%,让我们假设在 50% 的休息时间中,您花费了更多所需的时间。所以根据我的计算,你正在优化大约 5% 的工作流程......
当然,在你做一些新的事情之前,通常的 google/SO/forums 搜索很有用,但在我看来,投资不仅仅是浪费时间,除非你想浪费一些时间只是为了娱乐或普通教育...... :),但这是另一个故事。
顺便说一句,我处于相同的位置,上次我需要一些 GUI 并使用了 MFC(因为我有时在 10 年前使用它:))并且我完全理解我可能会在 C# 和朋友中获得更好的结果,但是学习曲线只是不能证明这一点,特别是知道我需要将 C 代码与 GUI 混合。

于 2008-12-29T13:24:23.107 回答
0

我认为最好的解决方案是买一本关于你需要赶上的主题/环境的书。

向您认识的在该领域有经验的开发人员提问。

您还可以查看新闻组(Google Groups 使这变得容易)和论坛。您可以提出问题,但即使阅读 10 分钟针对特定主题/环境的最新热门问题,也会让您有点“了解”。

如果你能找到一个专注的博客,同样的事情也适用于博客。虽然这些非常罕见,但我个人并不希望通过博客让我“了解”特定环境。(我个人认为“这里有一些简洁的东西”或“这是我失败的原因,你可以避免它”或“一般实践”领域中最受欢迎和最有趣的博客。)

于 2008-10-05T07:13:50.853 回答
0

除了上面的答案,我认为你所要求的将花费你大量的时间,你必须愿意花时间来实现你的目标。我的方法与欧文的答案几乎相同;获取参考书或教程,并在您尝试任何给定事物的工作原理时通过更改示例进行修改。我会说作为最低限度,每隔一天分配一个小时来做​​这件事,在你知道你不会被打断的时间里。再少一点,你可能会继续挣扎。

于 2008-10-05T07:54:35.513 回答
0

速成学习的最佳方法很简单,只需执行此操作,使用 google 搜索 X 教程,打开您喜欢的浏览器并开始输入即可。一旦你对 X 的感觉达到一定程度,看看其他人的东西,那里有很多开源的,肯定有人以前用过 X,看看他们如何解决某些问题并从中学习,这个是一种简单的方法来验证您是否“走在正确的轨道上”,或者您正在按照其他人定义为“常识”的模式做事或思考。

由于您已经有一个暂停的学习曲线,因此刷新某些东西要容易得多,我这样做的方式是保留您在编写时所做的一些示例或保留您所做的一些项目。然后您可以轻松地刷新并使用您自己的示例。

你在这里提到的图书馆问题,只有提高你的搜索技能才能提高那个(尽管看看其他人如何解决这个问题也会有所帮助)

于 2008-10-05T12:25:04.593 回答
0

不要试图拿起每一个环境。

专注于有用和/或有趣的内容,然后选择一些高质量的博客定期阅读或收听播客。您将很快掌握环境的当前状态。

具体例子:我已经离开Java世界很长时间了,但最近几个月我一直在做一个Java项目。从那以后,我收听了 Java Posse 播客并阅读了一些博客,虽然我离 Java 大师还很远,但我已经恢复了速度,没有太多麻烦。

于 2008-10-21T23:56:52.213 回答