您如何记住下次要在代码中继续的位置?[关闭]


18

当您中断某些代码的工作时(是因为您必须进行其他工作或去度假,或者仅仅是因为一天结束),一旦关闭该Visual Studio项目,您记住的首选方式是当您再次开始处理该代码时,下一步要做什么。

您设置Visual Studio书签还是写下类似的内容// TODO: continue here next time?也许您有一个特殊的标签,例如// NEXT:?您在显示器上贴了便签吗?您使用我应该知道的很棒的工具还是Visual Studio插件?

您是否有任何个人技巧可以帮助您在代码中找到上次使用代码的地方?


3
可以将某些IDE设置为记住最近打开的文件以及这些文件中的滚动位置。
FrustratedWithFormsDesigner

8
//前往此处。(也是,谁关闭了他们的IDE?)
Alex Feinman

2
Vim会在有指导的情况下记住您在每个文件中的位置~/.vimrc
替代

Eclipse在同一位置打开关闭时打开的所有文件。如果那没有帮助,git status 请和git log您做朋友。
Ingo 2013年

如果启用“保存位置”,Emacs将执行此操作:emacswiki.org/emacs/SavePlace
Luke

Answers:


17

我修复了所有无法运行的单元测试。如果他们都过去了,那么我写一个新的。


1
值得指出的是逻辑上的后果:当您一天结束时故意离开未通过的测试是一种提醒自己第二天要做什么的好方法……
Jules

9

每天开始时,我都有一个名为Todays Goals.txt的文本文件,然后每天都添加这样的日期。

星期五02/25/2011目标

然后,我记下正在从事的每个项目,以及今天要完成或完成的工作。

然后,在一天结束时,我写下明天要做的事情。

这个日常流程可以帮助我确切地记住我需要做的事情,并确保每一天都有计划。


2
我也做同样的事情,只是用铅笔在我的记事本上写
Zachary K

我也用记事本来做,每周我都摆脱旧页面并开始一个新页面。
配置器

1
我每天都保持我的所有目标,让我对所有已完成的工作有历史的了解,让我回顾一下我为公司所做的贡献。
crosenblum 2011年

tomboy插件“今日笔记”非常有用,您可以设置标题为“ Today's todos”的模板。然后,您可以每天开始查看前一天的笔记。live.gnome.org/Tomboy/PluginList
蒂姆·阿贝尔

8

基本上,我永远不会忘记我在做什么。无论如何,Visual Studio都会在您正在处理的最后一个文件中弹出,或者,我从不关闭Visual Studio,而只是休眠。

我将NotImplementedExceptions放在抽象/实现上,这些对于继续开发我正在研究的东西不一定很重要。

我确实在代码中放置了许多TODO,但并非您所说的那样。我将它们放置在我知道某种方法会更好/更有效的位置,但目前没有必要。这为我自己和未来的开发人员提供了改进的地方。

使用Visual Studio的“任务列表”,您可以轻松查看留下这些指示的所有位置,甚至可以添加自定义标记。

更新:

当您编写有效的东西时,“ HACK:”也很不错,但是您根本不满意。


但是,如果由于不得不处理其他项目而停止了较长时间的工作,该怎么办?
bitbonk 2011年

1
@bitbonk:在实现某个功能的中间,我不会停止工作。甚至没有一堂课,所以这里没有“这里”。
史蒂文·杰里斯

好吧,幸运的你!:)
bitbonk 2011年

5

每天结束时,我都会在工作簿中写到当天的成就,第二天的期望以及剩下要做的事情。

每天开始时,我都会参考以前的笔记,以重新整理自己需要做的事情。然后,我根据自己离开后发生的事情花了几分钟的时间来做更多笔记,以弄清楚我还需要做些什么以及我的工作重点是什么。

我发现这有助于我放松身心,并在一天结束时放手,并在开始时逐渐加紧。此外,当需要进行年度或季度审核时,我只需要参考工作簿即可确定在审核期间我一直在做什么。



1

在“编程的策划者”中的一次采访中(我认为是Python的创建者Guido van Rossum),受访者说,他//HIER在上次结束的地方添加了类似的评论。“ HIER”在这里是荷兰语(?),他之所以选择它,是因为如果搜索该字符串,则不太可能找到其他事件


“ HIER”(德语)
bitbonk 2011年

“ HIER”也出现在荷兰语中,而不是“ HEIR”中
Steven Jeuris

3
//HIERARCHY DOCUMENTATION...哎呀!
梅森惠勒

@梅森:“仅全词”搜索将避免该问题。
dan04 2011年

1

到目前为止,我最喜欢的方法是通过TDD。当测试套件出现故障时,您所处的位置非常明显。

但是,并不是所有的项目都允许TDD,所以我倾向于用未注释的注释来中断代码。

// Some Comment

Becomes Some Comment // Which Produces Some Fatal Error

该致命错误确保了我在发布代码之前不会保持原样。

最后,我始终可以检查自己的vc,以查看自上次提交以来已进行了哪些更改,这使我对下一步应该去的地方有了一个很好的了解...


1

我使用两种非常复杂的现代技术,并且学习曲线非常陡峭:

  • 不要关闭计算机。刚回家,第二天早上,您会在屏幕上看到昨天停止黑客入侵的确切位置。但是,如果您去度假,失去检查站的风险会更高。
  • 留下一个编译错误,然后签出到另一个分支。因此,您的C ++代码如下所示:

    for (i=0; i<N; i++){
      int j = i + oh, no, my boss wants me to fix text on the front page!
      why? why should I do it?  Jimmy could have done it faster, but
      of course, my office is closer to the boss', and he doesn't want to
      take longer walks, that lazy fat bastard...
    

    这样,当您打开计算机或返回执行活动开发的分支时,项目将不会生成。 您的编译器将在遇到您的问题时显示确切的行和文件

这些技术确实帮助我认识了我离开开发的地方,并得到了全球许多程序员的全面研究和经验的支持。我建议您尝试一下。


1

现在,这是Visual Studio 2012中的一项集成功能,您可以在其中暂停和恢复工作区。挂起将为您打开的文件,断点,监视列表,工作项等拍摄快照,恢复将其恢复。基本上,您的整个工作环境都会保存,并且将完全按照您的离开来恢复。
http://msdn.microsoft.com/en-us/library/ms181403.aspx

有关此功能的简短视频,请
参见http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview/Visual-Studio-Ultimate-2012-How-to-multi-task-与我一起工作



0

我在Visual Studio中的非构建docs子项目中保存每次迭代的开发日志;日志的最后一行始终是下一个任务。

我也不经常关闭Visual Studio,而只是将计算机置于待机状态


0

为了找到需要立即返回的内容,我通常在以下位置添加评论:

//TODO: figure out why the widget doesn't unfrob properly

我用空白行围住它,当我再次看到它时,它很容易引起我的注意。对于最终需要长期解决的长期问题,我使用了Delphi编译器指令,该指令允许您在编译时发出消息:

{$MESSAGE WARN 'This method is not yet implemented'}

不确定其他语言是否可以做到...


在c中,#error满足相同的需求。Java不立即提供支持,但是您可以在项目中添加经过编译时处理的注释:设置工作有些繁琐,但是一旦完成,使用起来就相对简单了。我确定其他语言也有类似的方法……
Jules 2013年

0

当我们谈论从几个月前回到项目时,TODO列表无效。代码中的注释对我来说不太好用,很容易忽略或记住我是否完全完成了X项目并应该首先搜索待办事项。如果您有一个更大的团队,每个人都有他们自己的TODO短语...呃。

由于我的工作从更新/合并/构建开始,所以我偶尔尝试的操作是在文件中放入一个故意的编译错误(但不要检入)。不幸的是,在我临时开通办公室后,我想看一下我上周工作过的东西的演示后,便停止了这样做。“在这里,让我打开这个……等等……那意味着什么……好吧……”

因此,我从那开始转而编写一个故意失败的测试用例。


0

我将第二天在屏幕上处理的代码留给emacs。

有时,我在代码中写了一个不可编译的注释,告诉我下一步该怎么做。

对于一个我可能会感到困惑的非常复杂的小部件,我将在笔记本中或注释中给自己写笔记。


0

如果只是在跟踪搜索过程中将自己的位置保留在文件中,则有时会滥用断点。

为了跟踪我所在的周末,我给自己留下了一个错误跟踪器编号的注释。


0

您是否正在使用版本控制系统?如果是,那么您应该在一天结束时提交更改,并在注释中描述您做了什么以及接下来需要做什么。如果不是,那为什么不呢?


2
-1永远不要只承诺!如果您没有完成自己的工作怎么办?即使您使用的是DVCS,它仍然很麻烦。根据逻辑更改而不是日期提交。
替代

我谨不同意。你应该经常犯错。如果您还没有做完,那么您应该创建一个临时分支,然后提交该分支,以免破坏主干。稍后,当您完成操作后,将合并分支。如果计算机死了,那么每天结束时进行工作也会创建工作备份。
Dima

但是包括您打算在第二天执行的操作就是滥用提交消息。请记住,这些消息应该构成有用的日志。
Ben Voigt

@Ben Voigt:正如我所说,如果您必须在任务中间停止工作,则将其设为一个单独的分支。然后,您的提交消息将仅在该分支上,而不在主干上。此外,第二天您打算做的事情是对代码当前状态的很好描述。可能在几个月后有用。
迪马

0

我只是不会在一天结束时关闭Visual Studio并休眠Windows。


0

我是每晚重新启动的少数人之一(仍然在Win XP上运行,但我感觉它的性能更好。),所以我创建了一个Outlook任务,并在第二天早上设置了提醒。我可能会放入文件名,代码行的副本或足够的注释以让我知道我在做什么。


0

有几件事情可以帮助您:

  • 我在寻找“ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA”文本,它具有代码无法运行(无论是编译代码还是解释代码)的优点,因此我不会错过。另外,由于联觉,该标签对我来说是鲜红色的,因此即使在大量代码中也很容易发现它。

  • IDE重新打开文件的位置,其中每个开放(以及哪些行强调/断点),这样我就可以迅速记得我在做什么。

  • 我可以在待办事项列表中看到要解决的问题/要实现的功能。


+1:我绝对喜欢:“而且,由于通感,这个标签对我来说是鲜红色的……”
Peter Rowell

0

由于您没有说您需要编写代码才能在调试和发行版中进行实际编译,因此我经常做的一个技巧是:

#if DEBUG
#error "YOU LEFT OFF HERE"
#endif

很难忘记这一点。否则,我将在代码中放置#pragma警告,以使其在您编译时出现。


0

我使用一些技巧:

  • 将@@放在代码注释中或文档中,以解决当前迭代中需要完成但并非立即完成的事情。如果包含@@,则没有代码或文档离开我的机器。

  • 我需要在明天早上上班的那个特定地方用@@ HERE标记。这几乎没有必要,因为我的IDE会在我较早关闭的位置打开,您甚至可以告诉Word这样做

  • 以后应该修复/添加的所有内容都将放入适当的错误跟踪系统或包含在设计文档中。

并且确定您的Visual Studio不能记住您正在使用的上一个位置吗?“使用Visual Studio 2012暂停工作”表示可以在2012年完成(Google for Visual Studio开始“停业”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.