当你花一整天的时间获得一个正常工作的功能,但是后来的架构变化导致该功能不再被使用?但是你知道代码是否足够有用,以至于如果架构回荡,那么这个函数将会再次有用?如何处理未使用,有用的代码?
这似乎是错误的,你做检查之前,但随后又占用空间的未使用的功能,如果你选择了它在删除的功能。
当你花一整天的时间获得一个正常工作的功能,但是后来的架构变化导致该功能不再被使用?但是你知道代码是否足够有用,以至于如果架构回荡,那么这个函数将会再次有用?如何处理未使用,有用的代码?
这似乎是错误的,你做检查之前,但随后又占用空间的未使用的功能,如果你选择了它在删除的功能。
我把所有有用的代码记录在离线码片段数据库。
不检查 - 集中式存储库仅适用于在应用程序中使用的工作代码。
签入并注释掉。恕我直言,空间成本非常值得你花在正确的时间上(如果风力发生变化,可能需要再次花费)。也许你可以将它作为“零碎”文件的一部分进行检查,以便它不会混淆你的活动代码。
我肯定会删除它。你可以把它放在一个特殊的地方,项目的成员可以看到,但把它从项目中解脱出来。当开发人员无法调用某个特定函数时,它会使维护变得困难。
根据定义,未使用的代码无用。永远记得YAGNI。在99%的情况下,你应该删除它,因为在下次可能有用时,它可能会更快再次执行它(你只花了一天的时间)。
在极少数情况下,它很酷,您可以将其存储在片段数据库中。
作为一个答案,请考虑这个小故事:
的死码采集器:带出揭掉死代码。
死人代码:这是一个。
死代码收集器:这将是ninepence。
死码:我不是死码。
死码收藏家:什么?
死者代码:无。有你的九便士。
死码:我不是死码。
死者代码收集者:'以前,他说他不是死代码。
死者的男人:是的,他是。
死码:我不是。
死码收藏家:他不是。
死人代码:好的,他很快就会,他病得很重。
死代码:我越来越好。
死者的男人:不,你不会,你会在一瞬间石头死的代码。
死码收藏家:呃,我不能把他当作那样。这违反了规定。
死码:我不想上车。
死人的男人:哦,别这么宝贝。
死号收藏家:我不能接他。
死码:我感觉很好。
死人代码:哦,帮我一个忙。
死码收藏家:我不能。
死人代码:嗯,你可以在这里呆几分钟吗?他不会很久。
死码收藏家:我答应我会在罗宾逊的。他们今天输了九场。
死人代码:你的下一轮是什么时候?
死码收藏家:星期四。
死号:我想我会去散步。
死人代码:你不是在愚弄任何人,你知道的。没有什么可以做的吗?
死代码:我感到高兴。我感到开心。
[死代码收集几眼上下偷偷在街上,然后沉默死码与他自己按Ctrl-X的失衡]
男子死码:嗯,非常感谢你。
删除代码。写一个很好的签到评论,它解释了你删除了什么以及为什么。 这应该是足够清楚的,以便那些在该文件上运行历史命令的人可以理解它,并且可以从版本存储库检索您的函数。
自从我大约两年前开始在当前的雇主工作以来,我创建了相当大的实用程序代码库。它分成几个类别并用于多个项目。我创建的代码不需要立即进入并且休眠直到它被使用(或永远,以先发生者为准)。
在这种情况下,我总是使用描述该软件片段的软件。 A 已标记好的子项目和很好的描述然后做那个功能。
在我看来,重用这个整个函数并不总是有用,但是看一下那些曾经有意义的好的,可用的代码。
发表您的代码: http://snipplr.com/ http://refactormycode.com/
让其他人速度,也许用它太:)
开源吧!如果它对你没有用处,也许对其他人有用。
反对这个问题的常见理由是,公司不会付钱给您编写免费代码,但是,他们让您在不稳定的架构下工作,因此无论如何他们都无法从您的代码中获益。
死代码不再被维护。当你再次需要它时,你需要花时间让它重新工作。如果它确实有用,而且您仍然可以记住它,则可以始终通过您的版本控制获得。
在工作中,有些人的代码已经在4年前被注释掉,包含70%的源文件。 只是让它去吧
删除它很高兴。
代码是针对动态世界中不断变化的需求而做出的静态承诺。今天
我的观点是,如果我们要计算的代码行,我们不应该把它们当作“线生产”,而是“行花”:目前的传统智慧是愚蠢预订该计数在账本的错误一面。
我已经在我的项目中,我一直保存有用的未使用函数的副本的类文件。
另一种方式:因为我们将项目保存在SVN存储库中,所以当我替换我的有用函数时,我总是在我的日志文件中具有dat函数,以便将来我可以随时访问它。
检查它,并注释(在代码和检查),说你要删除它。
然后删除它并立即签入更改,并附上解释原因的签入注释。
通过这种方式,您的代码库中不会存在垃圾,但是您拥有代码的永久记录。
只需将其保存在您为自己设计的任何代码片段收集器中,或者可在您的系统中使用。问题不在于放在哪里(主要是我们只谈论文本,不是我们?),而是如何再次找到它。问题是如何再次找到它,所以需要使用某种标记/搜索方法。
我把我的代码片段保存在Code Collector Pro(Mac版)中。
这样它不在任何项目中,但我可以在需要时重复使用它。
免责声明:我只是一个满意的客户。
使用较少代码的系统更好一个如果以后取消注释,您的注释代码将无用。所有代码以前可以修改的环境都可以更改或更危险 - 可能会更改随新业务逻辑附带的一些小型隐形部分。
旧代码是引入新bug的绝好机会。取消注释旧代码与通过猜测进行编程相同(查看ma,它的工作原理!),这是根据定义而定的。
如果它的数量很大(并且通常很有用),为什么不考虑公开采购呢?我喜欢回收的想法。
How to Delete Code中的许多建议,但我保留一个纯文本文件,我转储偶尔测试但未使用的函数,可能有一天会派上用场。我无法忍受把它们完全扔掉,但是再一次,我也没有必要回到任何一个。
有关此类文件/代码片段集合的更多规则:只有一个,在一个地方。
不错:-)这是来自Monty Python的一集,对吧? – Daan 2008-12-09 10:04:24