Language agnostic 管理为学习编写的代码

Language agnostic 管理为学习编写的代码,language-agnostic,Language Agnostic,我想问一下他们用来记住各种编程技术的不同技术。我们阅读各种书籍、各种在线提示和教程,我们也从别人编写的代码中获得了很多想法 现在,所有这些输入都以某种格式存储,以便在引用时可以轻松找到。缺少此类存储可能会导致重写代码或重新设计轮子 我过去常常创建一个工作文件夹,保存我所有的试用代码,但几天/几个月后,由于代码没有正确标记或命名,很难再找到它。好吧,对我来说,当我尝试学习时,我专注于学习解决程序的方法,而不是技巧。这对我很重要。此外,通过常规的日常编程,一些技术变得根深蒂固 我做的另一件事是维护一

我想问一下他们用来记住各种编程技术的不同技术。我们阅读各种书籍、各种在线提示和教程,我们也从别人编写的代码中获得了很多想法

现在,所有这些输入都以某种格式存储,以便在引用时可以轻松找到。缺少此类存储可能会导致重写代码或重新设计轮子


我过去常常创建一个工作文件夹,保存我所有的试用代码,但几天/几个月后,由于代码没有正确标记或命名,很难再找到它。

好吧,对我来说,当我尝试学习时,我专注于学习解决程序的方法,而不是技巧。这对我很重要。此外,通过常规的日常编程,一些技术变得根深蒂固

我做的另一件事是维护一个笔记本,里面有我的笔记、代码片段、注释和我多年来学到的快捷方式。这也有帮助


最近我开始在中维护我的笔记,这使得搜索和标记变得容易。

对于web,我使用Delicious+Firefox插件来存储我已经阅读的内容

当我寻找我无法解决的问题的解决方案时,我习惯于在这里提问/搜索


为了我自己的解决方案,我尝试创建可重用的组件,并记住在哪个项目中我解决了什么,然后在需要的时候再回到它。

每当你学习一个java编程技术时,你总是用C++和perl来映射相应的东西。java和C++在更多的概念中保持相同。因此,无论何时需要,您都可以下载并拥有它。

您可以尝试类似的程序。我不知道它在代码示例中的效果如何,但我知道开发人员在软件论坛的Joel上(仍然?)很活跃,因此我确信他可以被联系到任何具体的问题。

对于Perl,我有一个模块,我称之为
staging.pm
,并且
使用staging
是代码中的一个pragma,它允许我在开发中使用实验性的、未完全开发的代码。该开发代码将被放置在用户库目录下一个名为“staging”的分支中。模块所做的主要工作是将我的暂存目录放在
@INC
的开头。一旦我的代码成熟了——如果是的话——它将被移动到我的用户库目录中

至于脚本,它们可以从任何地方运行,我使用一个名为testoff的bin目录


这就是我的方法。我不知道这对你有多有用

如果您使用Windows,您可以使用Google Desktop索引部分硬盘,包括程序片段

如果你能回忆起其中的一些,谷歌会找到的


(Spotlight在Mac电脑上自动执行相同操作)

这就像学习任何其他语言或其他技术一样。当你读了一本书,发现它很有趣时,你就开始把你正在读的东西与你以前可能遇到的现实生活情况和问题联系起来,这些新学到的东西会帮你解决

几天后,你可能会忘记你所学到的东西,直到你在读这本书或看讲座时偶然发现了与之相关的问题。这种特殊类型的记忆被称为联想记忆技术

有很多其他不同的技术可以用来记忆事物,但其中很多可以归结为与你已经知道的其他部分的关系

另一个例子是数学,这是你强迫你的大脑去理解的东西,但一旦你停止每天使用它,你就会慢慢退化数学细胞

至少对我来说,编程只是表达自己的另一种方式,当我学习新特性时,它只是表达以前可能不容易做到的事情的一种新方式

编辑

我可能误解了这个问题。。是吗?

在Mac OS X上,我为这个问题提供了近乎完美的解决方案。TextMate是一个编程编辑器,支持数百种编程语言,可通过捆绑编辑器进行自定义。通过bundle编辑器,您可以添加您可能想要记住的任何代码片段,并根据其各自的语言对其进行适当分类。还可以指定热键或字符序列来调用代码段并将其复制到当前编辑上下文中


我相信Notepad++是一个类似于Windows的工具,但我不确定它是否像TextMate那样可定制。

一个好的跨平台、多语言代码段管理器,支持分层组织和标记,会很好。。。我还没有找到。-1使用“专家”这个词有什么不对?有一个名为Stack Overflow的性别重新分配网站,Stack Overflow正在与之竞争。根据AntonioCS和Aehiilrs的建议进行修改。我已经使用谷歌桌面,找到文档和邮件很好。这并不太关注开发人员的需求。谷歌代码搜索(google code search)搜索我的本地代码肯定会有帮助。如果你不能使用谷歌桌面查找你学到的东西,你真的学到了吗?不管怎样,看看其中有基于需求和软件包的示例。没有,这很有用,我的问题是收集有用的信息,并通过记忆或以某种方式存储以备将来使用。