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

Project management 如何保持干燥?不要重复你自己!,project-management,agile,organization,Project Management,Agile,Organization,我发现软件开发中最令人沮丧的一个方面是找到一个问题的解决方案,忘记它,然后在将来面对同样的问题,却忘记了以前是如何解决的。或者写一段有用的代码,然后在以后的项目中找不到这段代码 我的一般问题是:在编程过程中,你如何跟踪每天学到的所有新东西?有没有人有一种系统的方法来获取知识并在将来轻松有效地应用 更新:感谢您的回复,以下是您的想法: 社交 堆栈溢出 Tumblr 推特 埃弗诺特 博客/维基 代码存储库 Github 解惑 发射台 谷歌代码 桌面 升降箱 Yojimbo(mac) 伏都教

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

我的一般问题是:在编程过程中,你如何跟踪每天学到的所有新东西?有没有人有一种系统的方法来获取知识并在将来轻松有效地应用

更新:感谢您的回复,以下是您的想法:

社交

  • 堆栈溢出
  • Tumblr
  • 推特
  • 埃弗诺特
  • 博客/维基
代码存储库

  • Github
  • 解惑
  • 发射台
  • 谷歌代码
桌面

  • 升降箱
  • Yojimbo(mac)
  • 伏都教(mac)
  • 维基广告(win)
  • 冲浪者
我用来跟踪几乎每一个整洁的算法、代码片段或方便的想法。

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


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

Stackoverflow是一个很好的开始:-)

保持博客是另一回事()

甚至推特在这方面也很有用

我发现还有许多“桌面维基”应用程序非常有用:在Mac和Windows上


最后,如果您需要存储代码片段(或更多代码片段)(当然,您有权这样做),那么现在有很多源代码存储库可用(,或者如果您想要完全控制)。

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

大脑有局限性。接受它


解决方案是对代码进行测试,这样你一发现重复的代码就可以毫不费力地进行合并。

我认为这是存储各种注释的最佳资源之一。你甚至可以上传文本的照片(比如从你的iphone,或者只是你的电脑),文本将被OCR识别,这样你以后就可以自由搜索文本的部分内容了。

写一篇博客。发布您的发现、代码示例和所有其他内容。保存知识以备将来之用的最好方法。

当我忘记五年前我是如何解决某个问题的时候,我不会太在意。同时,有可能有更好的方法可以做到这一点。GIYF.

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


对于代码,一个好的方法(在这两种情况下:组织和你自己)是保留我称之为“实用程序库”的东西。我喜欢的每一段代码通常都适合库的一个问题范围/名称空间。这样,随着时间的推移,您就拥有了一个整洁的代码库,可以让您不再发明weel。当然,几个月或几年后,图书馆需要文档才能在那里找到任何东西:)

我总是随身携带我所有感兴趣的项目。然后我通常知道在哪里可以找到我以前玩过的把戏

每次我在网上看到好的东西,我就把它作为明星,每次我在网上看到一篇好文章,我就把它作为书签


保持一个博客或一个博客也很好。

我习惯于随身携带我的闪存盘。因此,我在那里有不同的文件夹,用于C#notes、Asp.Net notes、设计模式等

每当我做一些我觉得将来可以使用它的事情时,基本上我会在其中打开相关的Word文档,添加细节和带有标题的代码段并保存

我不知道其他人是怎么做的,但这确实帮助了我

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

我还把所有的电子书都放在磁盘里。把它们都放在我的口袋里给了我一种非常好的感觉。

我过去常常记录很多事情。它是一个单页、自包含的wiki,您可以在桌面或服务器上运行


如果你想要一个托管的解决方案,你可以在

上免费获得一个。我使用google reader存储所有有趣的博客,并添加有关问题的注释。奇怪的是,解决问题后我总是忘记代码,但现在我要么在asp.net论坛上发布,要么在stackoverflow上发布。但几年前我遇到了一件奇怪的事情,我有一个问题,我设法研究解决它,但当我回顾了我3年前编写的一些代码时,我发现我在类似的问题上使用了相同的函数和相同的代码。我想,即使我不记得代码,它也一定隐藏在我的脑海中:)

DRY的悲剧在于,每次有人使用缩写词时,他们都必须重复自己并拼写出完整的短语:/@David Hedlund-你有一种枯燥的幽默感总结,@hapope,而且肯定会马上进入它的精神-非常meta:-)谢谢,我希望这个网站将取代谷歌黑客寻找答案…Evernote是一个伟大的应用程序。我一直使用它来存储扫描的文档和其他零碎的数据。然而,我并不认为它是一个很好的开发者信息库。因此,我更喜欢我在回答中提到的桌面wiki类型的应用程序。这提醒了我,我在我的博客上有一篇正是出于这个目的的帖子,我刚刚迁移到Stack Overflow。谢谢有时候这是真的,有时候不是。有很多次,我发现自己正在努力寻找一个解决方案——但却发现我正在朝着与以前相同的解决方案努力。有一个全新的视角总是很好的