Làm thế nào để bạn nhớ nơi bạn muốn tiếp tục trong lần tiếp theo? [đóng cửa]


18

Khi bạn làm gián đoạn công việc trên một số mã (có thể là do bạn phải làm việc khác hoặc đi nghỉ hoặc đơn giản vì đó là cuối ngày), một khi bạn đóng dự án Visual Studio, cách nhớ ưa thích của bạn là gì những gì bạn muốn làm tiếp theo khi bạn bắt đầu làm việc với mã đó một lần nữa.

Bạn có đặt dấu trang Visual Studio hoặc viết ra một cái gì đó như thế // TODO: continue here next timenào không? Có lẽ bạn có một thẻ đặc biệt như thế // NEXT:nào? Bạn có đặt một ghi chú dán trên màn hình của bạn? Bạn có sử dụng một công cụ hay plugin Visual Studio mà tôi nên biết không?

Bạn có bất kỳ thủ thuật cá nhân nào giúp bạn tìm vị trí trong mã của bạn nơi bạn rời khỏi lần cuối cùng bạn làm việc với mã của mình không?


3
Một số IDE có thể được đặt để ghi nhớ rằng các tệp cuối cùng mở và vị trí cuộn đến các tệp đó.
Thất vọngWithFormsDesigner

8
// GOT ĐẾN ĐÂY. (Ngoài ra, ai đóng IDE của họ?)
Alex Feinman

2
Vim sẽ nhớ bạn đã ở đâu trong mọi tệp khi được chỉ dẫn để thực hiện điều đó~/.vimrc
thay thế vào

Eclipse mở tất cả các tệp tôi đã mở khi tôi đóng nó, tại cùng một vị trí. Nếu điều đó không có ích, git status git diff` và git loglà bạn của bạn.
Ingo

Emacs sẽ làm điều này nếu bạn bật Save Place: emacswiki.org/emacs/SavePlace
Luke Girvin

Câu trả lời:


17

Tôi sửa bất kỳ bài kiểm tra đơn vị nào không hoạt động. Nếu tất cả đều trôi qua, thì tôi sẽ viết một cái mới.


1
Đáng để chỉ ra hậu quả hợp lý: cố tình để lại một bài kiểm tra thất bại khi bạn hoàn thành trong ngày là một cách tốt để nhắc nhở bản thân về những gì bạn muốn làm vào ngày hôm sau ...
Jules

9

Vào đầu mỗi ngày, tôi có một tệp văn bản có tên là Todays Goals.txt và sau đó mỗi ngày, tôi thêm ngày như thế này.

Thứ Sáu ngày 25/02/2011

Sau đó, tôi viết ra từng dự án tôi đang làm, và những gì tôi phải hoàn thành hôm nay, hoặc để hoàn thành nó.

Sau đó, vào cuối ngày, tôi viết ra những thứ sẽ được thực hiện vào ngày mai.

Quy trình hàng ngày này giúp tôi nhớ chính xác những gì tôi cần làm và đảm bảo mỗi ngày đều được lên kế hoạch tốt.


2
Tôi cũng làm như vậy, nhưng chỉ cần viết nó vào notepad của mình bằng bút chì
Zachary K

Tôi cũng làm điều đó với một notepad và mỗi tuần tôi thoát khỏi trang cũ và bắt đầu một trang mới.
cấu hình

1
Tôi giữ tất cả các mục tiêu của mình mỗi ngày, mang lại cho tôi một cái nhìn lịch sử về tất cả các công việc tôi đã làm và để tôi xem lại những gì tôi đã đóng góp cho công ty.
crosenblum

Phần bổ trợ tomboy "Ghi chú của ngày" rất tốt cho việc này, bạn có thể thiết lập một mẫu với tiêu đề như "Mã thông báo ngày nay". Sau đó, bạn có thể bắt đầu mỗi ngày nhìn vào ghi chú của ngày hôm trước. live.gnome.org/Tomboy/PluginList
Tim Abell

8

Về cơ bản tôi không bao giờ quên những gì tôi đang làm việc. Visual studio bật mở ở tập tin cuối cùng mà bạn đang làm việc bằng mọi cách, hoặc, tôi không bao giờ đóng Visual Studio cả và chỉ ngủ đông.

Tôi đặt NotIm HiệnedExceptions ở mức trừu tượng / triển khai không nhất thiết phải tiếp tục phát triển những gì tôi đang làm.

Tôi đặt rất nhiều TODO trong mã của mình, nhưng không như bạn đã nêu. Tôi đặt chúng ở nơi tôi biết một cách tiếp cận nhất định sẽ đẹp hơn / hiệu quả hơn, nhưng không cần thiết vào lúc này. Điều này mang lại một dấu hiệu tốt cho bản thân tôi và các nhà phát triển trong tương lai về nơi có chỗ để cải thiện.

Sử dụng Danh sách tác vụ của Visual Studio, bạn có thể dễ dàng xem tất cả các địa điểm mà bạn để lại các chỉ dẫn này và thậm chí bạn có thể thêm các tùy chỉnh.

CẬP NHẬT:

" HACK :" cũng hay khi bạn viết một cái gì đó hoạt động, nhưng bạn không hài lòng chút nào.


Nhưng điều gì sẽ xảy ra nếu bạn ngừng làm việc với dự án (trong một thời gian dài hơn) bởi vì bạn phải làm việc với một số dự án khác.
bitbonk

1
@bitbonk: Tôi sẽ không ngừng làm việc trên một dự án, ngay giữa khi thực hiện một chức năng nhất định. Thậm chí không phải là một lớp học, vì vậy không có "ở đây".
Steven Jeuris

Chà, may mắn bạn! :)
bitbonk

5

Vào cuối mỗi ngày, tôi viết vào sổ làm việc của mình về những gì tôi đã hoàn thành ngày hôm đó, những gì tôi mong đợi sẽ hoàn thành vào ngày hôm sau và những việc còn lại phải làm.

Vào đầu mỗi ngày, tôi tham khảo các ghi chú của tôi từ trước để làm mới bản thân với những gì tôi cần làm. Sau đó, tôi dành thêm vài phút để ghi chú thêm dựa trên những gì đã xảy ra kể từ khi tôi rời đi để tìm hiểu những gì tôi cần làm và những ưu tiên của tôi là gì.

Tôi thấy điều này giúp tôi thư giãn và buông tay vào cuối ngày và tăng tốc khi bắt đầu. Ngoài ra, khi đến lúc đánh giá hàng năm hoặc hàng quý, tôi chỉ cần tham khảo sổ làm việc của mình để xác định những gì tôi đã làm trong giai đoạn đánh giá.



1

Trong một trong các cuộc phỏng vấn trong "Những kẻ chủ mưu lập trình", (tôi nghĩ đó là Guido van Rossum, người tạo ra Python), người được phỏng vấn nói rằng anh ta đã thêm một //HIERbình luận giống như ở nơi anh ta kết thúc lần trước. "HIER" là tiếng Hà Lan (?) Cho đây và anh ta chọn nó bởi vì nếu tìm kiếm chuỗi đó, không có khả năng tìm thấy các lần xuất hiện khác


"HIER" (tiếng Đức)
bitbonk

"HIER" cũng bằng tiếng Hà Lan, không phải "HEIR"
Steven Jeuris

3
//HIERARCHY DOCUMENTATION...Giáo sư!
Mason Wheeler

@Mason: Tìm kiếm "toàn bộ từ" sẽ tránh được vấn đề đó.
dan04

1

Cho đến nay, cách yêu thích của tôi là thông qua TDD. Nó khá rõ ràng bạn đang ở đâu khi bộ thử nghiệm của bạn thất bại.

Nhưng, không phải tất cả các dự án đều cho phép TDD, vì vậy tôi có xu hướng phá vỡ mã với một nhận xét không bị lỗi, về nơi tôi đã rời đi.

// Some Comment

Becomes Some Comment // Which Produces Some Fatal Error

Lỗi nghiêm trọng đó đảm bảo tôi không để mã đó chưa được xử lý trước khi phát hành.

Cuối cùng, tôi luôn có thể kiểm tra vcs của mình để xem những gì đã được thay đổi kể từ lần cam kết cuối cùng của tôi và điều đó sẽ cho tôi ý tưởng tốt về nơi tôi sẽ đi tiếp theo ...


1

Tôi sử dụng hai kỹ thuật hiện đại rất tinh vi với đường cong học tập rất dốc:

  • Đừng tắt máy tính của bạn . Chỉ cần về nhà, và sáng hôm sau bạn sẽ thấy trên màn hình chính xác nơi bạn đã ngừng hack ngày hôm qua. Nhưng rủi ro để mất điểm kiểm tra của bạn cao hơn nhiều nếu bạn đi nghỉ.
  • Để lại một lỗi biên dịch , và kiểm tra một chi nhánh khác. Vì vậy, mã C ++ của bạn sẽ trông như thế này:

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

    Bằng cách này, dự án sẽ không được xây dựng khi bạn bật máy tính hoặc quay lại chi nhánh nơi bạn đang thực hiện phát triển tích cực. Trình biên dịch của bạn sẽ hiển thị dòng và tệp chính xác nơi nó gặp phải những lời tán dương của bạn.

Những kỹ thuật này đã giúp tôi nhận ra nơi tôi rời khỏi sự phát triển, cũng như được hỗ trợ bởi các nghiên cứu và kinh nghiệm toàn diện của nhiều lập trình viên trên khắp thế giới. Tôi đề nghị bạn thử chúng.


1

Đây hiện là một tính năng tích hợp trong Visual Studio 2012, nơi bạn có thể tạm dừng và tiếp tục không gian làm việc của mình. Đình chỉ sẽ chụp ảnh nhanh các tệp đang mở, điểm dừng, danh sách theo dõi, các mục công việc, v.v. và sơ yếu lý lịch sẽ đưa nó trở lại. Về cơ bản toàn bộ bối cảnh công việc của bạn được lưu và sẽ tiếp tục chính xác khi bạn rời đi.
http://msdn.microsoft.com/en-us/l Library / ms181403.aspx

Một đoạn video ngắn cho thấy tính năng này có tại đây
http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview/Visual-Studio-Ultimate-2012-How-to-multi-task- với công việc của tôi


0

Whay ưa thích hiện tại của tôi là // NEXT:thẻ đặc biệt . Cùng với nhà thám hiểm TODO của ReSharper , rất dễ dàng để khám phá và bảo trì.


0

Tôi giữ một nhật ký phát triển cho mỗi lần lặp trong một tiểu dự án tài liệu không được xây dựng trong phòng thu trực quan; dòng cuối cùng trong nhật ký luôn là nhiệm vụ tiếp theo.

tôi cũng không thường xuyên đóng cửa phòng thu trực quan, thay vào đó hãy đặt máy tính ở chế độ chờ


0

Để tìm thấy những gì tôi cần quay lại ngay lập tức, tôi thường đưa một nhận xét vào:

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

Tôi bao quanh nó bằng những dòng trống, và nó thu hút sự chú ý của tôi một cách dễ dàng khi tôi nhìn thấy nó một lần nữa. Đối với các vấn đề dài hạn mà cuối cùng tôi cần quay lại, tôi sử dụng chỉ thị trình biên dịch Delphi cho phép bạn phát ra các thông báo trong khi biên dịch:

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

Không chắc chắn nếu các ngôn ngữ khác có thể làm điều đó ...


Trong c, #error đáp ứng nhu cầu tương tự. Java không hỗ trợ nó ngay lập tức, nhưng bạn có thể thêm một chú thích được xử lý theo thời gian biên dịch vào dự án của bạn: đó là một chút công việc để thiết lập, nhưng sử dụng tương đối đơn giản sau khi bạn đã hoàn thành. Tôi chắc chắn có những cách tiếp cận tương tự cho các ngôn ngữ khác ...
Jules

0

Danh sách TODO không hoạt động khi chúng ta nói về việc quay lại dự án từ nhiều tháng trước. Nhận xét trong mã không hoạt động tốt đối với tôi, thật quá dễ dàng để bỏ qua hoặc để nhớ liệu tôi đã hoàn thành dự án X hay chưa và nên tìm kiếm mã thông báo trước. Và nếu bạn có một nhóm lớn hơn với mỗi người có cụm từ TODO của riêng họ ... ugh.

Vì ngày của tôi bắt đầu bằng cập nhật / hợp nhất / xây dựng, đôi khi tôi đã thử một lỗi biên dịch có chủ ý trong một tệp (nhưng không kiểm tra nó). Thật không may, tôi đã ngừng làm điều này sau khi tôi có một văn phòng thả xuống đầy ngẫu hứng muốn xem bản demo của một cái gì đó tôi đã làm việc vào tuần trước. "Ở đây, hãy để tôi mở cái này ... chờ đã ... điều đó có nghĩa là gì ... được rồi ..."

Vì vậy, tôi đã chuyển từ đó sang viết một trường hợp thử nghiệm thất bại có chủ ý.


0

Tôi để lại emacs với mã tôi đang làm việc trên màn hình cho ngày hôm sau.

Đôi khi tôi viết một ghi chú không thể biên dịch trong mã cho tôi biết phải làm gì tiếp theo.

Đối với một tiện ích thực sự phức tạp mà tôi có thể bị nhầm lẫn về mọi thứ, tôi sẽ viết ghi chú cho chính mình vào một cuốn sổ tay hoặc dưới dạng nhận xét.


0

Nếu chỉ để giữ vị trí của tôi trong một tệp trong khi tôi theo dõi tìm kiếm, đôi khi tôi lạm dụng các điểm dừng.

Để theo dõi vào cuối tuần tôi đang ở đâu, tôi để lại cho mình một ghi chú với số lượng vấn đề theo dõi lỗi.


0

Bạn đang sử dụng một hệ thống kiểm soát phiên bản? Nếu có, thì bạn nên cam kết những thay đổi của bạn vào cuối ngày và mô tả những gì bạn đã làm và những gì bạn cần làm tiếp theo trong bình luận. Và nếu không, thì tại sao bạn không?


2
-1 Không bao giờ cam kết chỉ để cam kết! Điều gì xảy ra nếu bạn không thực hiện với những gì bạn đang làm? Ngay cả khi bạn đang sử dụng DVCS, nó vẫn gây phiền toái. Cam kết dựa trên sự thay đổi hợp lý, không phải ngày.
thay thế

Tôi tôn trọng không đồng ý. Bạn nên cam kết thường xuyên. Nếu bạn chưa hoàn thành, thì bạn nên tạo một nhánh tạm thời và cam kết với điều đó, để bạn không phá vỡ thân cây. Sau này khi bạn hoàn thành, bạn hợp nhất chi nhánh của bạn trở lại. Cam kết vào cuối ngày cũng tạo ra một bản sao lưu công việc của bạn, trong trường hợp máy tính của bạn chết.
Dima

Nhưng bao gồm cả những gì bạn dự định là vào ngày hôm sau là lạm dụng các thông điệp cam kết. Hãy nhớ rằng những tin nhắn đó được cho là tạo thành một bản ghi nhật ký hữu ích trong nhiều tháng.
Ben Voigt

@Ben Voigt: như tôi đã nói, nếu bạn phải dừng công việc của mình ở giữa một nhiệm vụ, thì hãy biến nó thành một nhánh riêng. Sau đó, thông điệp cam kết của bạn sẽ chỉ ở trên nhánh đó chứ không phải trên thân chính. Bên cạnh đó, những gì bạn định làm vào ngày hôm sau là một mô tả rất hay về trạng thái hiện tại của mã của bạn. Nó chỉ có thể là hữu ích tháng xuống dòng.
Dima


0

Tôi là một trong số ít người khởi động lại hàng đêm (Vẫn trên Win XP tại nơi làm việc và tôi chỉ cảm thấy nó hoạt động tốt hơn.), Vì vậy tôi tạo một nhiệm vụ triển vọng với một lời nhắc được đặt ra cho sáng hôm sau. Tôi có thể đặt tên tệp, một bản sao của dòng mã hoặc đủ ghi chú để cho tôi biết những gì tôi đang làm.


0

Một số điều giúp:

  • Tôi tìm văn bản "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" có những lợi ích mà mã không thể chạy (cho dù đó là mã được biên dịch hay giải thích), vì vậy tôi không thể bỏ lỡ nó. Ngoài ra, thẻ đó có màu đỏ tươi đối với tôi nhờ vào khớp thần kinh , vì vậy thật dễ dàng để phát hiện ra nó ngay cả trong một đoạn mã lớn.

  • Các IDE mở lại các tập tin tại vị trí nơi mà mỗi đã được mở (và dòng được nhấn mạnh / breakpoint), vì vậy tôi có thể nhanh chóng nhớ những gì tôi đang làm.

  • Tôi có thể thấy trong danh sách việc cần làm của mình về vấn đề tôi đang cố gắng giải quyết / tính năng để thực hiện.


+1: Tôi hoàn toàn thích điều này: "Ngoài ra, thẻ đó có màu đỏ tươi đối với tôi nhờ vào khớp thần kinh ..."
Peter Rowell

0

Vì bạn không nói rằng bạn cần mã để thực sự biên dịch trong cả gỡ lỗi và phát hành, nên một mẹo tôi thường làm là:

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

Rất khó để quên điều đó. Nếu không, tôi sẽ đặt cảnh báo #pragma trong mã để nó xuất hiện bất cứ khi nào bạn biên dịch.


0

Tôi sử dụng một số thủ thuật:

  • Đặt @@ trong các nhận xét mã hoặc trong một tài liệu cho những việc cần được thực hiện trong lần lặp hiện tại nhưng không phải ngay lập tức. Không có mã hoặc tài liệu nào rời khỏi máy của tôi nếu nó chứa @@.

  • Đó là một nơi cụ thể mà tôi cần phải làm việc vào sáng mai tôi đánh dấu bằng @@ TẠI ĐÂY. Điều này hiếm khi cần vì IDE của tôi sẽ mở ở nơi tôi đóng trước đó và thậm chí bạn có thể bảo Word làm như vậy .

  • Tất cả những thứ nên được sửa / thêm vào sau sẽ đi vào một hệ thống theo dõi lỗi thích hợp hoặc có trong tài liệu thiết kế.

Và bạn có chắc rằng Visual Studio của bạn không thể nhớ vị trí cuối cùng bạn đang làm việc không? "Đình chỉ công việc với Visual Studio 2012" cho biết có thể hoàn thành vào năm 2012 (Google cho Visual Studio bắt đầu "rời đi" )

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.