Як ви пам’ятаєте, де у своєму коді ви хочете продовжити наступного разу? [зачинено]


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ваші друзі.
Інго

Emacs зробить це, якщо ввімкнути Зберегти місце: emacswiki.org/emacs/SavePlace
Люк Гірвін

Відповіді:


17

Я виправляю те, який тест не працює. Якщо вони всі проходять, то я пишу нове.


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

9

На початку кожного дня у мене є текстовий файл під назвою Todays Goals.txt, а потім кожного дня я додаю дату, як це.

П’ятниця 25.02.2011 Голи

Потім я записую кожен проект, над яким я працюю, і над тим, що мені доведеться сьогодні зробити, або виконати його.

Потім наприкінці дня я записую речі, які потрібно зробити завтра.

Цей щоденний процес допомагає мені пам’ятати, що саме мені потрібно зробити, і переконайтесь, що кожен день добре спланований.


2
Я роблю те саме, але просто записую це на своєму блокноті олівцем
Zachary K

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

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

Для цього дуже добре підходить додаток Tomboy "Записка дня", ви можете встановити шаблон із заголовком на зразок "Сьогоднішні тодоси". Потім можна починати кожен день, переглядаючи нотатки попереднього дня. live.gnome.org/Tomboy/PluginList
Тім Абел

8

В основному я ніколи не забуваю над тим, над чим працюю. Візуальна студія з'являється в останньому файлі, над яким ви працювали, або я взагалі ніколи не закриваю Visual Studio і просто сплющую.

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

Я розміщую багато кодів TODO у своєму коді, але не так, як ви заявили. Я розміщую їх там, де я знаю, що певний підхід був би приємнішим / ефективнішим, але наразі це не потрібно. Це дає приємну вказівку для себе та майбутніх розробників щодо місця для вдосконалення.

Використовуючи список завдань Visual Studio, ви можете легко переглянути всі місця, де ви залишили ці вказівки, і навіть можете додати спеціальні.

ОНОВЛЕННЯ:

" HACK :" також приємно, коли ви пишете щось, що працює, але ви зовсім не задоволені.


Але що робити, якщо ви перестали працювати над проектом (на довший час), бо вам довелося працювати над якимсь іншим проектом.
бітбонк

1
@bitbonk: Я б не переставав працювати над проектом, прямо посеред реалізації певної функції. Мабуть, навіть не клас, тому немає "тут".
Стівен Євріс

Ну, пощастило тобі! :)
bitbonk

5

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

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

Я вважаю, що це допомагає мені розслабитися і відпустити в кінці дня, а також на початку. Крім того, коли настає час щорічних або щоквартальних оглядів, я просто повинен звернутися до своєї робочої книги, щоб визначити, що я робив за період перегляду.



1

В одному з інтерв'ю у "Натхненнях програмування" (я думаю, що це Гідо ван Россум, творець Python), опитуваний сказав, що додав //HIERподібний коментар до місця, яке він закінчив минулого разу. "HIER" є голландською (?) Для цього, і він вибирає його, тому що якщо шукати цей рядок, навряд чи знайдуть інші випадки


"HIER" (німецька)
бітбонк

"HIER" також по-голландськи, а не "HEIR"
Стівен Євріс

3
//HIERARCHY DOCUMENTATION... ой!
Мейсон Уілер

@ Мейсон: Пошук "лише цілим словом" дозволить уникнути цієї проблеми.
dan04

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, де ви можете призупинити та відновити робочу область. Suspend зробить знімок ваших відкритих файлів, точок зупинки, списку перегляду, робочих предметів тощо, і резюме поверне його назад. В основному весь ваш робочий контекст зберігається і відновиться точно так, як ви вийшли.
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

Мій поточний кращий whay - це спеціальний // NEXT:тег. Разом з дослідником TODO ReSharper відкрити та підтримувати його дуже просто.


0

Я зберігаю журнал розробок для кожної ітерації у непрограмованому підпроекті docs у візуальній студії; останній рядок у журналі завжди є наступним завданням.

Я також не закриваю візуальну студію дуже часто, просто переставте комп'ютер у режим очікування


0

Щоб знайти те, до чого потрібно негайно повернутися, я зазвичай розміщую коментар:

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

Я оточую його порожніми лініями, і це легко привертає мою увагу, коли я його знову бачу. Для довгострокових проблем, до яких мені потрібно повернутися, я використовую директиву компілятора Delphi, яка дозволяє випускати повідомлення під час компіляції:

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

Не впевнений, чи можуть це зробити інші мови ...


У c #error заповнює ту саму потребу. Java не підтримує його з вікна, але ви можете додати до свого проекту анотацію, оброблювану під час компіляції: це налаштування небагато роботи, але відносно просте у використанні, як тільки ви це зробите. Я впевнений, що подібні підходи є і для інших мов ...
Jules

0

Списки TODO не працюють, коли ми говоримо про повернення до проекту за місяці до цього. Коментарі в коді для мене не спрацьовують, просто занадто просто ігнорувати або запам’ятовувати, чи я повністю закінчив проект X і чи слід спочатку шукати Todos. І якщо у вас є більша команда, в якій кожна людина має свою фразу TODO ... так.

Оскільки мій день починається з оновлення / злиття / складання, я щось намагався, коли я намагався ввести помилку компіляції у файл (але не перевіряти його). На жаль, я перестав це робити після того, як у мене з'явився імпровізований офіс, який хотів побачити демонстрацію чогось, над чим працював тиждень раніше. "Ось, дозвольте мені просто відкрити це ... тримайся ... що це означає ... гаразд тоді ..."

Отже, я перейшов до написання навмисно невдалого тестового випадку.


0

Я залишаю emacs з кодом, над яким працював на екрані наступного дня.

Іноді я пишу в код некомпілюючу примітку, вказуючи мені, що робити далі.

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


0

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

Щоб слідкувати за вихідними про те, де я був, я залишаю собі записку з номером проблеми відстеження помилок.


0

Ви використовуєте систему контролю версій? Якщо так, то в кінці дня слід змінити свої зміни та описати, що ви зробили і що вам потрібно зробити далі у коментарі. А якщо ні, то чому ні?


2
-1 Ніколи не зобов’язуйся просто вчиняти! Що робити, якщо ви не робили того, що робили? Навіть якщо ви користуєтесь DVCS, це все одно викликає неприємності. Виконувати на основі логічних змін, а не дня.
альтернатива

Я з повагою не згоден. Ви повинні робити зобов’язання часто. Якщо ви цього не зробили, вам слід створити тимчасову гілку і взяти на себе зобов’язання, щоб не зламати магістраль. Пізніше, коли закінчите, ви з’єднаєте свою гілку назад. Здійснення зобов’язань наприкінці дня також створює резервну копію вашої роботи, якщо ваш комп’ютер загине.
Діма,

Але включаючи те, що ви маєте намір бути наступного дня, це зловживання повідомленнями про вчинення. Пам'ятайте, що ці повідомлення повинні утворювати журнал, корисний місяці вниз за рядком.
Ben Voigt

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


0

Я один з небагатьох, хто перезавантажує щоночі (все ще на Win XP на роботі, і я просто відчуваю, що це працює краще.), Тому я створюю перспективне завдання з нагадуванням для наступного ранку. Я можу поставити ім'я файлу, копію рядка коду або достатньо нотатки, щоб я міг знати, що я роблю.


0

Кілька речей допомагають:

  • Я шукаю текст "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", який має переваги, які код не може запустити (будь то компільований чи інтерпретований код), тому я не можу його пропустити. Крім того, цей тег для мене яскраво-червоний, завдяки синестезії , тому його дуже легко помітити навіть у великому шматку коду.

  • IDE знову відкривають файли в тому місці , де кожен був відкритий (і які були виділені лінії / контрольні точки), так що я можу швидко згадати , що я робив.

  • Я можу побачити в своєму списку todo, яку проблему я намагався вирішити / функцію, яку потрібно реалізувати.


+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.