2009-12-03 87 views
24

我发现的最令人沮丧的方面的软件开发一个是找到一个解决问题的办法,忘记它,然后正在面临着同样的问题,在未来只有忘记你以前如何解决它。或者编写一段有用的代码,然后在以后的项目中无法找到此代码。如何保持干爽?不要重复自己!

我一般的问题是这样的:你如何保持每一天,而编程的一切你学习新的东西的轨道?有没有人有系统的方式来捕捉知识,并在将来轻松高效地应用它?

更新:感谢您的答复,这里是你来干什么了:

社会

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

代码库

  • Github上
  • Unfuddle
  • 的LaunchPad
  • 谷歌代码

桌面

  • Dropbox的
  • 用心棒(MAC)
  • VoodooPad(MAC)
  • Wikidpad(WIN)
  • Surfulater
+20

* DRY *的悲剧是,每次有人使用缩写词时,他们必须重复自己并拼出完整的短语:/ – 2009-12-03 08:48:42

+11

@David Hedlund - 你有一种幽默感 – philsquared 2009-12-03 08:55:53

+1

不错的总结,@hapope,并绝对进入它的精神直接 - 非常元:-) – philsquared 2009-12-04 09:33:25

回答

8

#2是开始:-)

保持一个博客是另一回事(here's mine)的好地方。

即使Twitter的可能是这个有用的。

我还发现很多“桌面维基”应用程序非常有用:Mac上的VoodooPad和Windows上的Wikidpad

最后,如果你需要存储的代码段(或更多)(你有权利,当然),然后有大量的现在可用的源代码库(GitHubLaunchPadGoogle CodeUnfuddle如果你的想要完全控制)。

0

我用Yojimbo跟踪几乎每一个整齐的算法,代码片段或方便的想法。

0

的音符(我使用一个名为Surfulater的应用程序)和源代码目录树(也保存在Subversion版本库)的数据库。

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

2

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

5

大脑有限制。接受。

的解决方案是让测试你的代码,这样你可以不用,只要你注意到它打破了汗水合并重复的代码。

1

我觉得Evernote是存放各种音符的最好的资源之一。你甚至可以上传文本的照片(比如说你的iphone或者你的电脑),文本将被OCR,这样你就可以在后面自由文本搜索文本的某些部分。

+0

Evernote是一个伟大的应用程序。我一直使用它来存储扫描文档和其他数据位。但是我不觉得它是一个很棒的开发者信息存储。为此,我更喜欢我在答案中提到的桌面维基类型应用程序。 – philsquared 2009-12-03 08:58:22

2

写博客。发布您的发现,代码示例和其他所有内容。为未来挽救知识的最佳途径。

+1

这提醒了我,我在我的博客上发布了一个特定的帖子,我刚刚转移到了Stack Overflow。谢谢! – 2009-12-03 09:23:32

2

当我忘记五年前如何解决某些问题时,我不在乎太多。与此同时,有一种更好的方法可以做到这一点。 GIYF。

+3

有时候这是事实,有时候并非如此。有很多次,我发现自己正在寻求一种解决方案 - 只是发现我正在努力寻找与之前相同的解决方案。 有一个全新的视角总是不错的 - 但以前的例子对于手来说仍然非常有价值 – philsquared 2009-12-03 09:42:41

2

如果是针对某个组织,那么拥有内部wiki页面(或类似的内容)可能会有所帮助。 如果只为你(和任何有兴趣的人)写博客,在互联网上最喜欢的片段等

对于代码,一个好方法(在这两种情况下:组织和你自己)是保持我称之为“公用事业图书馆“。我喜欢的每一段代码通常适合图书馆的问题范围/命名空间之一。这样,随着时间的推移,你有一个整洁的代码库,可以让你不要再次发明weel。当然,几个月或几年的图书馆需要的文档后发现在那里:)

0

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

每次我看到的东西,所以我明星是好,每次我看到我书签它在网络上的好文章。

保持一个博客或tumblr也不错。

0

我用来携带我的闪存盘,无论我走到哪里。所以,我有不同的文件夹为C#笔记,Asp.Net笔记,设计模式等

而且,当我做了一些我觉得我可以在将来使用它,基本上我打开它的相关的Word文档,将详细信息和代码片段添加到标题并保存。

我不知道别人怎么做,但它真的帮助我。

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

P.S:我还将所有电子书放在我的磁盘中。让他们都在我的口袋给我很好的感觉。

4

我用TiddlyWiki跟踪了很多东西的。它是一个单页,自包含的wiki,您可以从桌面或服务器上运行。

如果你想有一个托管解决方案,你可以免费获得一个以上的TiddlySpot

+1

我可以补充一点,因为TiddlyWiki是一个单独的HTML文件,所以你也可以在闪存驱动器中携带它。 TiddlyWikis适合个人使用或团队使用。一旦我发现使用和修改/定制是多么容易,我就爱上了TiddlyWiki。它使我能够用一个交叉参考的简单化软件宁静杰作代替我的日历,项目笔记本,充满涂鸦的巨大法律垫,以及压倒性的一堆粘性笔记。 – bta 2009-12-04 22:25:23

0

我使用谷歌阅读器来存储所有有趣的博客和我的问题添加注释,这是about.For码奇怪我总是解决问题后忘记,但现在我要么在asp.net论坛和stackoverflow发布。但是几年前,我发生了一件奇怪的事情,我遇到了一个问题,并且设法研究解决它,但是当我回顾了一些编写了3年的代码之后,我发现我已经使用了相同的功能和相同的代码类似的问题。我认为即使我不记得代码,它一定被隐藏在我的脑海里:)