如何保持干燥?不要重复自己!

时间:2009-12-03 08:43:17

标签: project-management agile organization

我发现软件开发最令人沮丧的方面之一就是找到问题的解决方案,忘记它,然后在将来遇到同样的问题而忘记你以前如何解决它。或者编写一些有用的代码,然后在以后的项目中找不到这段代码。

我的一般问题是:如何跟踪您在编程时每天学到的所有新内容?是否有人有系统的方法来捕获知识并轻松有效地应用于未来?

更新:感谢您的回复,以下是您提出的建议:

社交

  • #1
  • 的tumblr
  • 微博
  • Evernote的
  • 博客/维基

代码存储库

  • Github上
  • Unfuddle
  • 启动板
  • Google Code

桌面

  • 收存箱
  • Yojimbo(mac)
  • VoodooPad(mac)
  • Wikidpad(win)
  • Surfulater

13 个答案:

答案 0 :(得分:8)

Stackoverflow是一个很好的起点: - )

保持博客是另一回事(here's mine)。

即便是推特也可能对此有用。

我发现还有一些非常有用的“桌面wiki”应用程序:Mac上为VoodooPad,Windows为Wikidpad

最后,如果您需要存储代码片段(或更多)(当然您有权利),那么现在有大量源代码存储库可用(GitHub,{{3}如果您想要完全控制,请{},LaunchPadGoogle Code

答案 1 :(得分:5)

大脑有限制。接受它。

解决方案是对您的代码进行测试,这样您就可以在注意到它的同时合并重复的代码而不会出汗。

答案 2 :(得分:4)

我使用TiddlyWiki来跟踪很多事情。这是一个单页,自包含的wiki,您可以在桌面或服务器上运行。

如果您想要托管解决方案,可以在TiddlySpot

免费获得一个

答案 3 :(得分:2)

我自己也有这个问题。我刚刚开始几个月前,通过在我的收藏中添加好的SO问题/答案,甚至是我回答或发布的问题。我想这是一个好的开始。 :)

答案 4 :(得分:2)

写博客。发布您的发现,代码示例和其他所有内容。保存未来知识的最佳方式。

答案 5 :(得分:2)

当我忘记五年前我如何解决一些问题时,我并不在乎。有可能在此期间,有一种更好的方法可以实现。 GIYF。

答案 6 :(得分:2)

如果是针对某个组织,拥有内部维基页面(或类似内容)可能有所帮助。 如果它只适合你(以及任何有兴趣的人),可以在互联网上写博客,最喜欢的片段等。

对于代码而言,一种好的方法(在两种情况下:组织和你自己)都要保留我称之为“实用工具库”的东西。我喜欢的每段代码通常都适合于库的问题范围/命名空间之一。这样,随着时间的推移,你有一个整洁的代码库,让你不再发明weel。当然,经过几个月或几年后,图书馆需要文档来查找其中的任何内容:)

答案 7 :(得分:1)

我认为Evernote是存储各种笔记的最佳资源之一。您甚至可以上传文本照片(例如从您的iphone或计算机上传),文本将被OCR,以便您可以在以后自由文本搜索部分文本。

答案 8 :(得分:0)

我使用Yojimbo来跟踪几乎所有简洁的算法,代码段或方便的想法。

答案 9 :(得分:0)

笔记数据库(我使用名为Surfulater的应用程序)和源代码的目录树(也保存在Subversion存储库中)。

如果我今天开始,我可能会使用一些Wiki框架来存储我的笔记。

答案 10 :(得分:0)

我总是使用dropbox随身携带所有有趣的项目。然后我通常知道在哪里找到我以前做过的技巧。

每当我看到一些好东西,我就明星了,每当我在网上看到一篇好文章时,我都会给它添加书签。

保持博客或tumblr也很不错。

答案 11 :(得分:0)

我习惯随身携带闪存盘。所以,我有不同的文件夹,用于C#笔记,Asp.Net笔记,设计模式等。

每当我做一些我认为将来可以使用它的东西时,基本上我打开相关的Word文档,添加详细信息和带有标题的代码片段并保存。

我不知道其他人是怎么做的,但这对我有帮助。

不要忘记在文档的开头添加引用索引。

P.S:我还把所有的电子书放在我的磁盘上。将它们放在口袋里让我感觉非常好。

答案 12 :(得分:0)

我使用谷歌阅读器存储所有有趣的博客,我添加了关于它的问题的注释。对于代码奇怪,我总是忘记解决了问题,但现在我发布在asp.net论坛和stackoverflow。但是,几年前我发生了一件奇怪的事情,我遇到了一个问题而且我设法研究解决它但是当我查看了一些代码之前我已经写了三年我才看到我使用了相同的功能和相同的代码类似的问题。我想即使我不记得代码,它也一定隐藏在我的脑海里:)