管理代码为学习而编写

时间:2010-01-13 07:03:40

标签: language-agnostic

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

现在所有这些输入都以某种格式存储或存储,以便在引用时可以轻松找到它们。没有这样的存储可能会导致重写代码或重新发明轮子。

我用来创建一个工作文件夹,在那里我保留所有试用代码,但是在几天/几个月之后的某个时间,因为代码没有被标记或命名正确,很难再找到它。

8 个答案:

答案 0 :(得分:3)

对于Perl,我有一个我称之为staging.pm的模块,use staging;是我的代码中的一个编译指示,它允许我在开发中使用实验的,而不是完全开发的代码。此开发代码将放置在用户库目录之外的名为“staging”的分支中。该模块的主要功能是将我的临时目录放在@INC的头部。一旦我的代码成熟 - 如果它是 - 它将被移动到我的用户lib目录中。

对于脚本,它们可以从任何地方运行,我使用bin目录中名为test的目录。

这就是我的方法。我不知道这对你有多大帮助。

答案 1 :(得分:1)

嗯,对我而言,当我在努力学习时,我会专注于学习解决方案的方法,而不是技术。这对我很重要。此外,随着日常的常规编程,一些技术变得根深蒂固。

我做的另一件事就是维护一个包含笔记的笔记本,代码片段,评论,以及我多年来学到的快捷方式。这也有帮助。

最近我已经开始在Evernote中维护我的笔记,这样可以轻松搜索和标记。

答案 2 :(得分:1)

对于网络,我使用Delicious + Firefox插件存储我已经读过的内容。

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

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

答案 3 :(得分:1)

每当你学习像java这样的编程技术时,你总是用C ++映射相应的东西,perl.Java和C ++在更多概念中保持相同。最好将工作文件夹存储在邮件中,以便在需要时可以下载和拥有它。

答案 4 :(得分:1)

您可以尝试像Surfulater这样的程序。我不知道它对代码示例的效果如何,但我知道开发人员(仍然是?)在Joel on Software论坛上活跃,所以我确信可以联系任何具体问题。

答案 5 :(得分:1)

如果您使用的是Windows,则可以使用Google桌面为部分硬盘编制索引,包括程序摘要。

如果您只记得其中的一部分,Google会找到它。

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

答案 6 :(得分:1)

这就像学习任何其他语言或学习任何其他技术。当你读到一本书并且发现它很有趣时,你就会开始将你正在阅读的内容与现实生活中的情况和问题联系起来,而这些问题可能是你学到的新东西之前可能解决的问题。

在几天左右的时间之后,您可能会忘记所学的内容,直到您在阅读本书或查看讲座时遇到与您相关的问题。这种特定类型的内存称为关联记忆技术。

还有很多其他不同的技巧可以记住,但很多技术都归结为与你已经知道的其他部分的关系。

另一个例子是数学,这是你强迫你的大脑理解的东西,但是一旦你每天退出使用它,你将慢慢地退化数学 - 细胞。

至少为我编程只是表达自己的另一种方式,当我学习新功能时,它只是一种表达以前可能不容易做的事情的新方法。

修改

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

答案 7 :(得分:1)

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

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