Bagaimana Anda ingat di mana dalam kode Anda ingin melanjutkan waktu berikutnya? [Tutup]

18

Ketika Anda mengganggu pekerjaan pada beberapa kode (baik itu karena Anda harus mengerjakan sesuatu yang lain atau pergi berlibur atau hanya karena itu adalah akhir hari), begitu Anda menutup proyek Visual Studio itu, apa cara yang Anda sukai untuk mengingat apa yang ingin Anda lakukan selanjutnya ketika Anda mulai mengerjakan kode itu lagi.

Apakah Anda mengatur bookmark Visual Studio atau menulis sesuatu seperti // TODO: continue here next time? Mungkin Anda memiliki tag khusus // NEXT:? Apakah Anda menaruh catatan tempel pada monitor Anda? Apakah Anda menggunakan alat keren atau plugin Visual Studio yang harus saya ketahui?

Apakah Anda memiliki trik pribadi yang membantu Anda menemukan tempat di kode Anda di mana Anda tinggalkan terakhir kali Anda bekerja pada kode Anda?

bitbonk
sumber
3
Beberapa IDE dapat diatur untuk mengingat bahwa file terakhir terbuka, dan posisi scroll-to dalam file tersebut.
FrustratedWithFormsDesigner
8
// HARUS DI SINI. (Juga, siapa yang menutup IDE mereka?)
Alex Feinman
2
Vim akan mengingat di mana Anda berada di setiap file ketika diberi arahan untuk melakukannya di~/.vimrc
alternatif
Eclipse membuka semua file yang saya buka ketika saya menutupnya, pada posisi yang sama. Jika itu tidak membantu, git status git diff` dan git logadalah teman Anda.
Ingo
Emacs akan melakukan ini jika Anda mengaktifkan Save Place: emacswiki.org/emacs/SavePlace
Luke Girvin

Jawaban:

17

Saya memperbaiki mana pun unit tes tidak berfungsi. Jika mereka semua lewat, maka saya menulis yang baru.

kevin cline
sumber
1
Layak menunjukkan konsekuensi logis: sengaja meninggalkan ujian yang gagal ketika Anda selesai untuk hari itu adalah cara yang baik untuk mengingatkan diri sendiri apa yang ingin Anda kerjakan pada hari berikutnya ...
Jules
9

Di awal setiap hari, saya memiliki file teks bernama Todays Goals.txt, dan kemudian setiap hari, saya menambahkan tanggal seperti ini.

Tujuan Jumat 02/25/2011

Kemudian saya menuliskan setiap proyek yang sedang saya kerjakan, dan apa yang harus saya selesaikan hari ini, atau untuk menyelesaikannya.

Kemudian pada akhir hari, saya menuliskan hal-hal yang harus dilakukan besok.

Proses harian ini membantu saya mengingat dengan tepat apa yang perlu saya lakukan, dan memastikan setiap hari terencana dengan baik.

crosenblum
sumber
2
Saya melakukan hal yang sama, tetapi hanya menulisnya di notepad saya dengan pensil
Zachary K
Saya melakukannya dengan notepad juga, dan setiap minggu saya menyingkirkan halaman lama dan memulai yang baru.
konfigurator
1
Saya menjaga semua tujuan saya untuk setiap hari, memberi saya pandangan historis semua pekerjaan yang telah saya lakukan, dan mari saya tinjau kembali apa yang telah saya kontribusikan kepada perusahaan.
crosenblum
Addin tomboy "Note of the Day" sangat baik untuk ini, Anda dapat mengatur template dengan tajuk seperti "Todo hari ini". Anda kemudian dapat memulai setiap hari melihat catatan hari sebelumnya. live.gnome.org/Tomboy/PluginList
Tim Abell
8

Pada dasarnya saya tidak pernah melupakan apa yang sedang saya kerjakan. Visual studio muncul pada file terakhir yang Anda kerjakan, atau, saya tidak pernah menutup Visual Studio sama sekali dan hanya hibernasi.

Saya menempatkan NotImplementedExceptions pada abstraksi / implementasi yang tidak selalu penting untuk terus mengembangkan apa yang saya kerjakan.

Saya menempatkan banyak TODO dalam kode saya, tetapi tidak seperti yang Anda nyatakan. Saya menempatkan mereka di tempat yang saya tahu pendekatan tertentu akan lebih baik / lebih banyak pemain, tetapi tidak perlu saat ini. Ini memberikan indikasi yang bagus untuk saya dan pengembang masa depan tentang di mana ada ruang untuk perbaikan.

Menggunakan Daftar Tugas Visual Studio, Anda dapat dengan mudah melihat semua tempat di mana Anda meninggalkan indikasi ini, dan Anda bahkan dapat menambahkan yang kustom.

MEMPERBARUI:

" HACK :" juga bagus ketika Anda menulis sesuatu yang berhasil, tetapi Anda tidak senang sama sekali.

Steven Jeuris
sumber
Tetapi bagaimana jika Anda berhenti mengerjakan proyek (untuk waktu yang lebih lama) karena Anda harus mengerjakan beberapa proyek lain.
bitbonk
1
@bitbonk: Saya tidak akan berhenti mengerjakan proyek, tepat di tengah penerapan fungsi tertentu. Bahkan kelas mungkin tidak ada, jadi tidak ada "di sini".
Steven Jeuris
Yah, beruntung kamu! :)
bitbonk
5

Pada akhir setiap hari, saya menulis di buku kerja saya tentang apa yang telah saya capai hari itu, apa yang saya harapkan untuk capai pada hari berikutnya, dan hal-hal yang harus saya lakukan.

Di awal setiap hari, saya merujuk catatan saya dari sebelumnya untuk menyegarkan diri dengan apa yang harus saya lakukan. Kemudian, saya menghabiskan beberapa menit lagi membuat lebih banyak catatan berdasarkan apa yang telah terjadi sejak saya pergi untuk mencari tahu apa lagi yang perlu saya lakukan dan apa prioritas saya.

Saya menemukan ini membantu saya bersantai dan melepaskan pada akhir hari dan meningkatkan di awal. Selain itu, ketika tiba saatnya untuk tinjauan tahunan atau triwulanan, saya hanya perlu merujuk ke buku kerja saya untuk menentukan apa yang telah saya lakukan selama periode peninjauan.

Sparky
sumber
1

Dalam salah satu wawancara dalam "The Masterminds of Programming", (saya pikir itu adalah Guido van Rossum, pencipta Python) yang diwawancarai mengatakan bahwa ia menambahkan //HIERkomentar yang mirip di tempat yang ia selesaikan terakhir kali. "HIER" adalah bahasa Belanda (?) Untuk di sini dan dia memilihnya karena jika mencari string itu tidak mungkin menemukan kejadian lain

Anto
sumber
"HIER" (Jerman)
bitbonk
"HIER" juga dalam bahasa Belanda, bukan "HEIR"
Steven Jeuris
3
//HIERARCHY DOCUMENTATION... oops!
Mason Wheeler
@Mason: Pencarian "hanya kata saja" akan menghindari masalah itu.
dan04
1

Sejauh ini, cara favorit saya adalah melalui TDD. Cukup jelas di mana Anda berada saat test suite Anda gagal.

Tapi, tidak semua proyek memungkinkan untuk TDD, jadi saya cenderung untuk memecahkan kode dengan komentar, komentar di mana saya tinggalkan.

// Some Comment

Becomes Some Comment // Which Produces Some Fatal Error

Kesalahan fatal itu memastikan saya tidak membiarkan kode itu tidak tersentuh sebelum melepaskannya.

Terakhir, saya selalu dapat memeriksa vcs saya untuk melihat apa yang telah berubah sejak komit terakhir saya dan itu akan memberi saya ide yang baik tentang ke mana saya harus pergi selanjutnya ...

bitoflogic
sumber
1

Saya menggunakan dua teknik modern yang sangat canggih dengan kurva belajar yang sangat curam:

  • Jangan matikan komputer Anda . Pulang saja, dan keesokan paginya Anda akan melihat di layar tempat yang tepat di mana Anda berhenti meretas kemarin. Tetapi risiko kehilangan pos pemeriksaan Anda jauh lebih tinggi jika Anda pergi berlibur.
  • Tinggalkan kesalahan kompilasi , dan periksa ke cabang lain. Jadi, katakanlah, kode C ++ Anda akan terlihat seperti ini:

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

    Dengan cara ini proyek tidak akan dibangun ketika Anda menyalakan komputer, atau kembali ke cabang tempat Anda melakukan pengembangan aktif. Kompiler Anda akan menunjukkan baris dan file yang tepat di mana ia menemukan kata-kata kasar Anda.

Teknik-teknik ini memang membantu saya mengenali tempat saya meninggalkan pengembangan, serta didukung oleh studi komprehensif dan pengalaman banyak programmer di seluruh dunia. Saya sarankan Anda untuk mencobanya.

P Shved
sumber
1

Ini sekarang merupakan fitur terintegrasi dalam Visual Studio 2012 di mana Anda dapat menangguhkan dan melanjutkan ruang kerja Anda. Penangguhan akan mengambil snapshot dari file terbuka Anda, breakpoints, daftar pantauan, item pekerjaan dll dan resume akan mengembalikannya. Pada dasarnya seluruh konteks pekerjaan Anda disimpan dan akan dilanjutkan tepat seperti yang Anda tinggalkan.
http://msdn.microsoft.com/en-us/library/ms181403.aspx

Sebuah video pendek yang menunjukkan fitur ini ada di sini
http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ulalue-Overview/Visual-Studio-Ulebihan-2012-How-to-multi-task- dengan-My-Work

softveda
sumber
0

Whay pilihan saya saat ini adalah // NEXT:tag khusus . Bersama dengan penjelajah TODO ReSharper , sangat mudah ditemukan dan dipelihara.

bitbonk
sumber
0

Saya menyimpan log pengembangan untuk setiap iterasi dalam proyek dokumen non-dibangun di studio visual; baris terakhir dalam log selalu menjadi tugas berikutnya.

Saya juga tidak terlalu sering menutup visual studio, cukup taruh komputer dalam keadaan siaga

Steven A. Lowe
sumber
0

Untuk menemukan apa yang saya butuhkan untuk segera kembali, saya biasanya memberikan komentar di:

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

Saya mengelilinginya dengan garis-garis kosong, dan itu menarik perhatian saya dengan mudah ketika saya melihatnya lagi. Untuk masalah jangka panjang yang saya harus kembali pada akhirnya, saya menggunakan arahan kompiler Delphi yang memungkinkan Anda untuk memancarkan pesan saat mengkompilasi:

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

Tidak yakin apakah bahasa lain dapat melakukan itu ...

Mason Wheeler
sumber
Dalam c, #error memenuhi kebutuhan yang sama. Java tidak mendukungnya secara langsung, tetapi Anda dapat menambahkan anotasi proses-kompilasi-waktu ke proyek Anda: ini adalah pekerjaan yang sulit untuk diatur, tetapi relatif mudah digunakan setelah Anda selesai melakukannya. Saya yakin ada pendekatan serupa untuk bahasa lain ...
Jules
0

Daftar TODO tidak berfungsi ketika kita berbicara tentang kembali ke proyek dari bulan sebelumnya. Komentar dalam kode tidak berfungsi dengan baik untuk saya, terlalu mudah untuk mengabaikan atau mengingat apakah saya benar-benar menyelesaikan proyek X dan harus mencari todos terlebih dahulu. Dan jika Anda memiliki tim yang lebih besar dengan setiap orang memiliki frase TODO mereka sendiri ... ugh.

Karena hari saya dimulai dengan pembaruan / penggabungan / pembuatan, sesuatu yang saya coba pada kesempatan ini adalah untuk menempatkan kesalahan kompilasi yang disengaja dalam file (tetapi tidak memeriksanya). Sayangnya, saya berhenti melakukan ini setelah saya tiba di kantor dadakan yang ingin melihat demo dari sesuatu yang saya kerjakan pada minggu sebelumnya. "Ini, biarkan aku buka saja ini ... tunggu ... apa artinya ... ok kalau begitu ..."

Jadi, saya beralih dari itu ke menulis kasus ujian yang sengaja gagal.

Steve Jackson
sumber
0

Saya meninggalkan emacs dengan kode yang sedang saya kerjakan di layar untuk hari berikutnya.

Terkadang saya menulis catatan yang tidak dapat dikompilasi dalam kode yang memberi tahu saya apa yang harus saya lakukan selanjutnya.

Untuk widget yang benar-benar rumit di mana saya harus bingung tentang berbagai hal, saya akan menulis catatan untuk diri saya sendiri di notebook atau sebagai komentar.

Paul Nathan
sumber
0

Jika itu hanya untuk menjaga tempat saya di file sementara saya melanjutkan pencarian, saya kadang-kadang menyalahgunakan breakpoints.

Untuk melacak akhir pekan di mana saya berada, saya meninggalkan catatan dengan jumlah masalah pelacak bug.

Peter Taylor
sumber
0

Apakah Anda menggunakan sistem kontrol versi? Jika ya, maka Anda harus melakukan perubahan pada akhir hari dan menggambarkan apa yang Anda lakukan dan apa yang perlu Anda lakukan selanjutnya di komentar. Dan jika tidak, mengapa Anda tidak melakukannya?

Dima
sumber
2
-1 Jangan pernah berkomitmen hanya untuk melakukan! Bagaimana jika Anda tidak selesai dengan apa yang Anda lakukan? Bahkan jika Anda menggunakan DVCS, ini masih merepotkan. Berkomitmen berdasarkan perubahan logis, bukan hari.
alternatif
Dengan hormat saya tidak setuju. Anda harus sering berkomitmen. Jika Anda belum selesai, maka Anda harus membuat cabang sementara, dan berkomitmen untuk itu, sehingga Anda tidak mematahkan batangnya. Nanti setelah selesai, Anda menggabungkan cabang Anda kembali. Berkomitmen pada akhir hari juga menciptakan cadangan pekerjaan Anda, seandainya komputer Anda mati.
Dima
Tetapi termasuk apa yang Anda inginkan pada hari berikutnya adalah penyalahgunaan pesan komit. Ingat bahwa pesan-pesan itu seharusnya membentuk log yang berguna beberapa bulan ke depan.
Ben Voigt
@ Ben Voigt: seperti yang saya katakan, jika Anda harus menghentikan pekerjaan Anda di tengah tugas, maka buatlah itu menjadi cabang yang terpisah. Maka pesan komit Anda hanya akan berada di cabang itu, dan bukan di bagasi utama. Selain itu, apa yang ingin Anda lakukan pada hari berikutnya adalah deskripsi yang sangat baik tentang kondisi kode Anda saat ini. Mungkin hanya bulan-bulan yang berguna di masa depan.
Dima
0

Saya hanya tidak menutup Visual Studio dan hibernasi Windows pada akhir hari.

pengguna18513
sumber
0

Saya salah satu dari sedikit yang melakukan reboot setiap malam (Masih menggunakan Win XP di kantor dan saya merasa kinerjanya lebih baik.), Jadi saya membuat tugas pandangan dengan set pengingat untuk pagi berikutnya. Saya dapat memasukkan nama file, salinan baris kode atau cukup catatan untuk memberi tahu saya apa yang saya lakukan.

JeffO
sumber
0

Beberapa hal membantu:

  • Saya mencari teks "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" yang memiliki manfaat yang tidak dapat dijalankan kode (baik kode yang dikompilasi atau ditafsirkan), jadi saya tidak dapat melewatkannya. Juga, tag itu berwarna merah terang untuk saya berkat sinestesia , jadi sangat mudah untuk menemukannya bahkan dalam banyak kode.

  • The IDE membuka kembali file pada lokasi di mana masing-masing terbuka (dan yang garis yang disorot / breakpoints), jadi saya bisa cepat mengingat apa yang saya lakukan.

  • Saya dapat melihat di daftar agenda saya masalah apa yang saya coba selesaikan / fitur untuk implementasikan.

wildpeaks
sumber
+1: Saya benar-benar menyukai ini: "Selain itu, tag itu berwarna merah cerah untuk saya berkat sinestesia ..."
Peter Rowell
0

Karena Anda tidak mengatakan bahwa Anda perlu kode untuk benar-benar dikompilasi dalam debug dan rilis, satu trik yang sering saya lakukan adalah:

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

Sangat sulit untuk melupakan itu. Kalau tidak, saya akan menaruh peringatan #pragma dalam kode sehingga muncul setiap kali Anda mengkompilasi.

Kevin Hsu
sumber
0

Saya menggunakan beberapa trik:

  • Tempatkan @@ dalam kode komentar atau dalam dokumen untuk hal-hal yang perlu dilakukan dalam iterasi saat ini tetapi tidak segera. Tidak ada kode atau dokumen yang meninggalkan mesin saya jika mengandung @@.

  • Itu satu tempat khusus yang saya perlu ikuti untuk bekerja besok pagi saya tandai dengan @@ DI SINI. Ini jarang diperlukan karena IDE saya akan terbuka di tempat saya tutup sebelumnya, dan Anda bahkan dapat memberitahu Word untuk melakukannya .

  • Semua hal yang harus diperbaiki / ditambahkan kemudian masuk ke sistem pelacakan bug yang tepat atau dalam dokumen desain.

Dan apakah Anda yakin Visual Studio Anda tidak dapat mengingat lokasi terakhir yang sedang Anda kerjakan? "Penangguhan Pekerjaan dengan Visual Studio 2012" mengatakan ini dapat dilakukan pada 2012 (Google untuk Visual Studio mulai "tinggalkan" )

Jan Doggen
sumber