Как вы помните, где в вашем коде вы хотите продолжить в следующий раз? [закрыто]


18

Когда вы прерываете работу над каким-то кодом (будь то из-за того, что вам нужно работать над чем-то другим, или уезжаете в отпуск, или просто потому, что это конец дня), когда вы закрываете этот проект Visual Studio, какой ваш предпочтительный способ запомнить что вы хотите делать дальше, когда снова начнете работать над этим кодом.

Вы устанавливаете закладку Visual Studio или записываете что-то подобное // TODO: continue here next time? Может быть, у вас есть специальный тег, как // NEXT:? Вы помещаете заметку на свой монитор? Вы используете классный инструмент или плагин Visual Studio, который я должен знать?

Есть ли у вас какой-то личный прием, который поможет вам найти место в вашем коде, где вы остановились в последний раз, когда работали над своим кодом?


3
Некоторые IDE могут быть настроены на то, чтобы помнить, что последние файлы открыты, и на прокрутке в этих файлах.
FrustratedWithFormsDesigner

8
// ДОЛЖЕН ЗДЕСЬ. (Кроме того, кто закрывает их IDE?)
Алекс Фейнман

2
Vim запомнит, где вы находились в каждом файле, когда вам будет указано, как это сделать~/.vimrc
альтернатива

Eclipse открывает все файлы, которые я открыл, когда закрывал его, в той же позиции. Если это не поможет, git status сделайте git diff` и git logваши друзья.
Ingo

Emacs сделает это, если вы включите Save Place: emacswiki.org/emacs/SavePlace
Люк Гирвин,

Ответы:


17

Я исправляю, какие бы модульные тесты не работали. Если они все проходят, то я пишу новый.


1
Стоит указать на логическое следствие: намеренно оставить неудачный тест по окончании рабочего дня - это хороший способ напомнить себе, над чем вы хотели поработать на следующий день ...
Жюль

9

В начале каждого дня у меня есть текстовый файл с именем Todays Goals.txt, а затем каждый день я добавляю такую ​​дату.

Пятница 25.02.2011 Голы

Затем я записываю каждый проект, над которым я работаю, и что я должен сделать сегодня или завершить.

Затем, в конце дня, я записываю вещи, которые нужно сделать завтра.

Этот ежедневный процесс помогает мне точно запомнить, что мне нужно делать, и убедиться, что каждый день хорошо спланирован.


2
Я делаю то же самое, но просто пишу это в блокноте карандашом
Захари К

Я тоже делаю это с помощью блокнота, и каждую неделю я избавляюсь от старой страницы и начинаю новую.
конфигуратор

1
Я сохраняю все свои цели на каждый день, с исторической точки зрения смотрю на всю работу, которую я проделал, и позвольте мне рассмотреть то, что я внес в компанию.
crosenblum

Для этого очень подходит плагин tomboy «Записка дня», вы можете создать шаблон с заголовком «Сегодняшние задачи». Затем вы можете начать каждый день, просматривая заметки предыдущего дня. live.gnome.org/Tomboy/PluginList
Тим Абелл

8

По сути, я никогда не забываю над чем работаю. Visual Studio откроется в последнем файле, с которым вы работали, так или иначе, я вообще никогда не закрываю Visual Studio и просто сплю.

Я помещаю NotImplementedExceptions в абстракции / реализации, которые не обязательно важны для продолжения разработки того, над чем я работал.

Я помещаю много кода TODO в мой код, но не так, как вы заявили. Я размещаю их там, где, как я знаю, определенный подход был бы лучше / эффективнее, но в данный момент не обязателен. Это дает мне и будущим разработчикам хорошее представление о том, где есть место для улучшений.

Используя Список задач Visual Studio, вы можете легко просматривать все места, где вы оставили эти признаки, и вы даже можете добавить собственные.

ОБНОВИТЬ:

« HACK :» также приятно, когда вы пишете что-то, что работает, но вас это совсем не устраивает.


Но что, если вы перестали работать над проектом (на более длительное время), потому что вам пришлось работать над каким-то другим проектом.
битбонк

1
@bitbonk: Я бы не переставал работать над проектом, прямо в процессе реализации определенной функции. Наверное, даже не класс, поэтому здесь нет «здесь».
Стивен Джеурис

Ну, удачи тебе! :)
bitbonk

5

В конце каждого дня я пишу в своей рабочей тетради о том, чего я достиг за этот день, чего я ожидаю достичь на следующий день и что еще предстоит сделать.

В начале каждого дня я обращаюсь к своим заметкам из предыдущего, чтобы освежить себя тем, что мне нужно сделать. Затем я провожу еще несколько минут, делая больше заметок, основываясь на том, что произошло с тех пор, как я ушел, чтобы выяснить, что еще мне нужно сделать и каковы мои приоритеты.

Я нахожу, что это помогает мне расслабиться и отпустить в конце дня и нарастить в начале. Кроме того, когда приходит время для ежегодных или ежеквартальных проверок, мне просто нужно обратиться к своей рабочей тетради, чтобы определить, что я делал за период проверки.



1

В одном из интервью в «Основах программирования» (я думаю, что это был Гвидо ван Россум, создатель Python), собеседник сказал, что добавил //HIERаналогичный комментарий в том месте, где он закончил в прошлый раз. «HIER» здесь - нидерландский (?), И он выбирает его, потому что, если он ищет эту строку, вряд ли найдутся другие вхождения


"HIER" (немецкий)
битбонк

"HIER" также в голландском, а не "HEIR"
Стивен Джеурис

3
//HIERARCHY DOCUMENTATION... упс!
Мейсон Уилер

@ Мейсон: поиск "всего слова" позволит избежать этой проблемы.
Ден04

1

Безусловно, мой любимый способ - через TDD. Совершенно очевидно, где вы находитесь, когда ваш набор тестов дает сбой.

Но не во всех проектах допускается использование TDD, поэтому я склонен взламывать код с комментариями, в которых я остановился.

// Some Comment

Becomes Some Comment // Which Produces Some Fatal Error

Эта фатальная ошибка гарантирует, что я не оставлю этот код без изменений до его выпуска.

Наконец, я всегда могу проверить свои VCS, чтобы увидеть, что изменилось со времени моего последнего коммита, и это даст мне хорошее представление о том, куда я должен идти дальше ...


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- с-My-Work


0

Мой текущий предпочтительный вариант - специальный // NEXT:тег. Вместе с ReSharper 's TODO explorer его очень легко обнаружить и поддерживать.


0

Я веду журнал разработки для каждой итерации в не построенном подпроекте docs в visual studio; последняя строка в журнале всегда является следующей задачей.

Я также не часто закрываю 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 не поддерживает его "из коробки", но вы можете добавить аннотацию, обработанную во время компиляции, в ваш проект: это немного сложная настройка, но ее относительно просто использовать после того, как вы это сделали. Я уверен, что есть похожие подходы для других языков ...
Жюль

0

Списки TODO не работают, когда мы говорим о возвращении к проекту за несколько месяцев до этого. Комментарии в коде не работают для меня, просто слишком легко игнорировать или помнить, закончил ли я полностью проект X и должен ли сначала искать задачи. И если у вас большая команда, у каждого человека есть своя фраза TODO ... тьфу.

Так как мой день начинается с update / merge / build, я иногда пытался поместить в файл преднамеренную ошибку компиляции (но не зафиксировать ее). К сожалению, я прекратил это делать после того, как у меня появился импровизированный офис, в котором я хотел увидеть демонстрацию того, над чем я работал на прошлой неделе. «Вот, позволь мне просто открыть это… держись… что это значит… хорошо, тогда…»

Итак, я перешел от этого к написанию намеренно неудачного теста.


0

Я оставляю emacs с кодом, над которым я работал на следующий день.

Иногда я пишу не компилируемую заметку в коде, говорящую мне, что делать дальше.

Для действительно сложного виджета, где я могу запутаться в вещах, я буду писать заметки для себя в блокноте или в качестве комментария.


0

Если я просто сохраняю свое место в файле во время поиска, я иногда злоупотребляю контрольными точками.

Чтобы следить за выходными, где я был, я оставляю записку с номером проблемы с трекером ошибок.


0

Вы используете систему контроля версий? Если да, то вы должны зафиксировать свои изменения в конце дня и описать, что вы сделали, и что вам нужно сделать, далее в комментарии. А если нет, то почему нет?


2
-1 Никогда не совершай, только чтобы совершить! Что делать, если вы не закончили с тем, что вы делали? Даже если вы используете DVCS, это все еще неприятность. Фиксация основана на логических изменениях, а не на днях.
альтернатива

Я с уважением не согласен. Вы должны часто совершать. Если вы этого не сделали, то вам следует создать временную ветвь и выполнить ее, чтобы не сломать ствол. Позже, когда вы закончите, вы объедините свою ветвь. Фиксация в конце дня также создает резервную копию вашей работы на случай, если ваш компьютер умрет.
Дима

Но то, чем вы собираетесь стать на следующий день, - это злоупотребление сообщениями коммитов. Помните, что эти сообщения должны формировать журнал полезных месяцев спустя.
Бен Фойгт

@Ben Voigt: как я уже сказал, если вам нужно остановить свою работу в середине задачи, то сделайте это отдельной веткой. Тогда ваше сообщение о коммите будет только в этой ветке, а не в главной магистрали. Кроме того, то, что вы намереваетесь сделать на следующий день, это очень хорошее описание текущего состояния вашего кода. Это может быть полезным месяцем спустя.
Дима


0

Я один из немногих, кто перезагружается ночью (все еще на Win XP на работе, и я просто чувствую, что он работает лучше.), Поэтому я создаю задачу Outlook с напоминанием на следующее утро. Я могу указать имя файла, копию строки кода или достаточно примечания, чтобы сообщить мне, что я делал.


0

Несколько вещей помогают:

  • Я ищу текст "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", в котором есть преимущества, которые код не может выполнить (будь то скомпилированный или интерпретированный код), поэтому я не могу пропустить его. Кроме того, этот тег ярко-красный для меня благодаря синестезии , поэтому его действительно легко обнаружить даже в большом количестве кода.

  • Среда IDE повторно открывает файлы в том месте, где каждый был открыт (и какие строки были выделены / точки останова), поэтому я могу быстро вспомнить, что я делал.

  • В моем списке задач я вижу, какую проблему я пытался решить / какую функцию реализовать.


+1: мне очень понравилось это: «Кроме того, этот ярлык ярко-красный для меня благодаря синестезии ...»
Питер Роуэлл

0

Поскольку вы не сказали, что вам нужен код для фактической компиляции как в отладке, так и в выпуске, я часто делаю один трюк:

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

Очень сложно забыть это. В противном случае я бы добавил предупреждение #pragma в код, чтобы оно появлялось при компиляции.


0

Я использую несколько трюков:

  • Поместите @@ в комментарии кода или в документ о том, что нужно сделать в текущей итерации, но не сразу. Код или документ не покидают мою машину, если они содержат @@.

  • Это одно конкретное место, где я должен продолжать работать завтра утром, я отмечаю @@ ЗДЕСЬ. Это редко требуется, потому что моя IDE открывается там, где я закрываюсь раньше, и вы даже можете сказать Word сделать это .

  • Все вещи, которые должны быть исправлены / добавлены позже, попадают в надлежащую систему отслеживания ошибок или находятся в проектной документации.

И вы уверены, что ваша Visual Studio не может вспомнить последнее место, где вы работали? «Приостановка работы с Visual Studio 2012» говорит, что это можно сделать в 2012 году ( запуск Google для Visual Studio «прекращен» )

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.