コードのどこで次に続行したいかをどのように覚えていますか?[閉まっている]


18

何らかのコードの作業を中断する場合(他の作業をする必要があるか、休暇をとる必要があるか、単に1日の終わりであるため)、その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は、Save Placeを有効にするとこれを行います:emacswiki.org/emacs/SavePlace
Luke Girvin

回答:


17

動作していないユニットテストを修正します。それらがすべて合格している場合、私は新しいものを書きます。


1
価値が論理的帰結を指摘:あなたが一日のために終了したときに、意図的に失敗するテストを残して、あなたが次の日に仕事に望んで自分を思い出させる良い方法です...
ジュール・

9

毎日の始めに、Todays Goals.txtというテキストファイルがあり、毎日、このような日付を追加しています。

2011年2月25日金曜日の目標

次に、作業中の各プロジェクトと、今日何をする必要があるか、それを完了するために何をしなければならないかを書き留めます。

それから一日の終わりに、明日やるべきことを書き留めます。

この毎日のプロセスは、私が何をする必要があるかを正確に思い出し、毎日がうまく計画されていることを確認するのに役立ちます。


2
私は同じことを行うが、ちょうど鉛筆で私のメモ帳にそれを書く
ザカリーK

私もメモ帳でそれをし、毎週古いページを取り除き新しいページを始めます。
コンフィギュレー

1
私は毎日すべての目標を維持し、これまでに行ったすべての作業の履歴を確認し、会社に貢献したことを確認しましょう。
クロセンブラム

tomboyアドイン「Note of the Day」はこれに非常に適しています。「Today's todos」のような見出しのテンプレートを設定できます。その後、前日のメモを見て毎日開始できます。live.gnome.org/Tomboy/PluginList
ティム・アベル

8

基本的に、私が取り組んでいることを決して忘れません。とにかく作業していた最後のファイルでVisual Studioポップが開くか、Visual Studioを一度も閉じずに休止状態になります。

私の場所のNotImplementedExceptions必ずしも私が働いていたものを開発し続けることが重要ではありません抽象化/実装で。

私は自分のコードにたくさんのTODOを入れていますが、あなたが言ったようにではありません。特定のアプローチがより良い/よりパフォーマンスが良いとわかっている場所に配置しますが、現時点では必要ありません。これは、自分自身と将来の開発者にとって、改善の余地があるという素晴らしい兆候を示しています。

Visual Studioのタスクリストを使用すると、これらの指示を残したすべての場所を簡単に表示でき、カスタムの指示を追加することもできます。

更新:

ハック:」は、うまく機能する何かを書くときにも便利ですが、まったく満足していません。


しかし、他のプロジェクトで作業しなければならなかったために、プロジェクトでの作業を(長時間)停止した場合はどうなりますか。
-bitbonk

1
@bitbonk:特定の機能を実装している最中に、プロジェクトの作業をやめません。おそらくクラスではないので、「ここ」はありません。
スティーブンジュリス

幸運を祈ります!:)
bitbonk

5

毎日の終わりに、ワークブックに、その日に達成したこと、翌日に達成する予定のこと、やるべきことについて書いています。

毎日の始めに、前のメモを参照して、必要なことを自分でリフレッシュします。それから、他に何をする必要があるのか​​、そして何が優先事項なのかを理解するために去ってから何が起こったのかに基づいて、さらに数分ノートを作成します。

これは、リラックスして一日の終わりに手放し、最初に立ち上がるのに役立ちます。さらに、年次または四半期ごとのレビューの時期が来たら、ワークブックを参照してレビュー期間中に何をしていたかを判断するだけです。



1

「プログラミングの首謀者」のインタビューの1つで(Pythonの作成者であるGuido van Rossumだったと思います)、インタビューを受けた人は、//HIER前回終わった場所で同様のコメントを追加したと言いました。「HIER」はここではオランダ語(?)であり、その文字列を検索する場合、他の出現を見つける可能性は低いため、彼はそれを選択します。


HIER

「HIER」もオランダ語ではなく、「相続人」
スティーブンJeuris

3
//HIERARCHY DOCUMENTATION...おっとっと!
メイソンウィーラー

@Mason:「単語全体」検索はその問題を回避します。
dan04

1

断然、私のお気に入りの方法はTDDを使用することです。テストスイートが失敗したとき、どこにいるかは明らかです。

しかし、すべてのプロジェクトがTDDを許可しているわけではないので、コメントを外して、中断したところのコメントでコードを壊す傾向があります。

// Some Comment

Becomes Some Comment // Which Produces Some Fatal Error

その致命的なエラーにより、リリースする前にそのコードを変更しないでおくことができます。

最後に、VCを常にチェックして、前回のコミット以降に何が変更されたかを確認できます。これにより、次に進むべき場所がわかります。


1

私は、非常に急な学習曲線で2つの非常に洗練された最新の手法を使用します。

  • コンピューターの電源を切らないでください。家に帰ると、翌朝、昨日ハッキングをやめた正確な場所が画面に表示されます。しかし、休暇に出た場合、チェックポイントを失うリスクははるかに高くなります。
  • コンパイルエラーを残し、別のブランチにチェックアウトします。したがって、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- with-My-Work


0

私が現在好んでいるのは、特別な// NEXT:タグです。一緒にReSharperののTODOエクスプローラそれが発見し、維持するために非常に簡単です。


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はそのままではサポートしていませんが、プロジェクトにコンパイル時処理の注釈を追加できます。設定するのは少し手間がかかりますが、一度行うと比較的簡単に使用できます。私は...他の言語のための同様のアプローチがあると確信している
ジュール・

0

数か月前からプロジェクトに戻ることを話しているとき、TODOリストは機能しません。コード内のコメントは私にはうまくいきません。プロジェクトXを完全に終了し、最初に仕事を検索する必要があるかどうかを無視したり覚えたりするのは簡単すぎます。そして、各チームが独自のTODOフレーズを持っているより大きなチームがある場合は...

私の一日はupdate / merge / buildから始まるので、たまに試したのは意図的なコンパイルエラーをファイルに入れることです(チェックインはしません)。残念なことに、私は、前の週に取り組んだことのデモを見たいと思った即席のオフィスに立ち寄った後、これをやめました。「ここで、これを開いて...ちょっと待って...それはどういう意味ですか...それなら...」

そこで、意図的に失敗したテストケースを作成することに移行しました。


0

翌日のために画面上で作業していたコードをemacsに残します。

コードにコンパイルできないメモを書いて、次に何をすべきかを伝えることもあります。

物事について混乱しがちな本当に複雑なウィジェットについては、ノートに自分でメモを書くか、コメントとして書きます。


0

検索のフォローアップ中にファイルに自分の場所を保持するだけの場合、ブレークポイントを乱用することがあります。

私がいた週末を追跡するために、バグトラッカーの問題の番号をメモしておきます。


0

バージョン管理システムを使用していますか?はいの場合は、その日の終わりに変更をコミットし、何をしたか、次に何をする必要があるかをコメントで説明する必要があります。そうでない場合は、なぜそうではないのですか?


2
-1コミットするためだけにコミットしないでください!自分のやっていることをやらなかったらどうしますか?DVCSを使用している場合でも、迷惑です。日ではなく、論理的な変更に基づいてコミットします。
代替

私は丁重に同意しません。頻繁にコミットする必要があります。完了していない場合は、一時的なブランチを作成してコミットする必要があります。これにより、トランクが破損しないようになります。完了したら、ブランチをマージして戻します。1日の終わりにコミットすると、コンピューターが停止した場合に備えて作業のバックアップも作成されます。
ディマ

ただし、翌日に予定しているものを含めると、コミットメッセージが悪用されます。これらのメッセージは、数か月後に有用なログを形成することになっていることに注意してください。
ベンフォークト

@Ben Voigt:私が言ったように、タスクの途中で作業を停止する必要がある場合は、別のブランチにします。その後、コミットメッセージはメイントランクではなく、そのブランチにのみ表示されます。それに、次の日に何をするつもりなのかは、コードの現在の状態を非常によく説明しています。数か月後には役に立つかもしれません。
ディマ

0

一日の終わりにVisual Studioを閉じてWindowsを休止状態にしない。


0

私は毎晩リブートする数少ない人の1人です(仕事でもWin XPを使用していますが、パフォーマンスが向上していると感じています)。ファイル名、コード行のコピー、または自分が何をしていたかを知らせるための十分なメモを入れることができます。


0

いくつかのことが役立ちます:

  • 「AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA」というテキストを探しますが、これにはコードを実行できないという利点がありますコードがコンパイルされているか解釈されているかに関係なく)。また、そのタグはsynesthesiaのおかげで私にとって真っ赤です。そのため、大量のコードでも簡単に見つけることができます。

  • IDEは、それぞれが開いていた場所にファイルを再オープンし、私はすぐに私が何をしていたか覚えていますので、(とラインが強調された/ブレークポイント)。

  • ToDoリストで、解決しようとしている問題や実装する機能を確認できます。


+1:私は絶対にこれが大好きでした: "また、そのタグは共感覚のおかげで私にとって真っ赤です..."
ピーターローウェル

0

デバッグとリリースの両方で実際にコンパイルするためにコーディングする必要があるとは言わなかったので、私がよくするトリックの1つは次のとおりです。

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

それを忘れるのは非常に難しい。それ以外の場合は、コンパイル時に常に表示されるように、コードに#pragma警告を挿入します。


0

私はいくつかのトリックを使用します:

  • @@をコードコメントまたはドキュメントに配置して、現在の反復で実行する必要があるがすぐには実行しないことを確認します。@@が含まれている場合、マシンからコードまたはドキュメントが離れることはありません。

  • 明日の午前中に仕事を続ける必要がある特定の場所は、@@ HEREとマークします。私のIDEがどこに近い早く開き、あなたもすることができますので、これはめったにnecessarryでそうするようにWordを伝えます

  • 後で修正/追加する必要のあるものはすべて、適切なバグ追跡システムに入れられるか、設計文書に含まれます。

そして、あなたが働いていた最後の場所をVisual Studioが思い出せないことを確信していますか?「Visual Studio 2012での作業の一時停止」では、2012年に実行できると述べています(Google for Visual Studioは「中止」を開始

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.