คุณจำได้อย่างไรว่าในรหัสของคุณต้องการดำเนินการในครั้งต่อไปอย่างไร [ปิด]


18

เมื่อคุณขัดจังหวะการทำงานของรหัสบางส่วน (ไม่ว่าจะเป็นเพราะคุณต้องทำงานอย่างอื่นหรือไปพักผ่อนหรือเพียงเพราะมันเป็นจุดสิ้นสุดของวัน) เมื่อคุณปิดโครงการ Visual Studio สิ่งที่คุณต้องการจดจำ สิ่งที่คุณต้องการทำต่อไปเมื่อคุณเริ่มทำงานกับรหัสนั้นอีกครั้ง

คุณตั้งค่าบุ๊คมาร์ค Visual Studio หรือเขียนอะไรลงไป// TODO: continue here next timeไหม? คุณอาจมีแท็กพิเศษ// NEXT:ใช่ไหม คุณใส่โน้ตบนหน้าจอของคุณหรือไม่? คุณใช้เครื่องมือเจ๋ง ๆ หรือปลั๊กอิน Visual Studio ที่ฉันควรรู้หรือไม่?

คุณมีเคล็ดลับส่วนตัวที่จะช่วยให้คุณค้นหาสถานที่ในรหัสของคุณที่คุณละทิ้งในครั้งสุดท้ายที่คุณทำงานกับรหัสของคุณหรือไม่


3
IDE บางตัวสามารถตั้งค่าให้จำได้ว่าไฟล์ล่าสุดเปิดอยู่และเลื่อนตำแหน่งไปยังไฟล์เหล่านั้น
FrustratedWithFormsDesigner

8
// ไปที่นี่ (ใครปิด IDE ของพวกเขาด้วย)
Alex Feinman

2
Vim จะจดจำตำแหน่งที่คุณอยู่ในทุก ๆ ไฟล์เมื่อได้รับคำแนะนำให้ทำเช่นนั้น~/.vimrc
ทางเลือก

Eclipse เปิดไฟล์ทั้งหมดที่ฉันเปิดเมื่อฉันปิดมันในตำแหน่งเดียวกัน ถ้านั่นไม่ช่วยให้git status คอมไพล์แตกต่างและgit logเป็นเพื่อนของคุณ
Ingo

Emacs จะทำเช่นนี้หากคุณเปิดใช้งาน Save Place: emacswiki.org/emacs/SavePlace
Luke Girvin

คำตอบ:


17

ฉันแก้ไขการทดสอบหน่วยใดไม่ทำงาน หากพวกเขาทั้งหมดผ่านไปแล้วฉันจะเขียนใหม่


1
คุ้มค่าที่จะชี้ให้เห็นผลลัพธ์เชิงตรรกะ: จงใจปล่อยให้การทดสอบที่ล้มเหลวเมื่อคุณเสร็จสิ้นวันนั้นเป็นวิธีที่ดีในการเตือนตัวเองว่าคุณต้องการทำงานอะไรในวันถัดไป ...
Jules

9

ในตอนต้นของแต่ละวันฉันมีไฟล์ข้อความชื่อ Todays Goals.txt จากนั้นในแต่ละวันฉันจะเพิ่มวันเช่นนี้

วันศุกร์ที่ 02/25/2011 เป้าหมาย

จากนั้นฉันเขียนโครงการที่ฉันกำลังทำอยู่และสิ่งที่ฉันต้องทำในวันนี้หรือเพื่อทำให้เสร็จสมบูรณ์

จากนั้นในตอนท้ายของวันฉันเขียนสิ่งที่ต้องทำในวันพรุ่งนี้

กระบวนการรายวันนี้ช่วยให้ฉันจดจำสิ่งที่ฉันต้องทำและทำให้แน่ใจว่าแต่ละวันมีการวางแผนที่ดี


2
ฉันทำแบบเดียวกัน แต่เขียนมันลงบนสมุดบันทึกด้วยดินสอ
Zachary K

ฉันทำมันด้วยแผ่นจดบันทึกด้วยและทุกสัปดาห์ฉันจะกำจัดเพจเก่าและเริ่มใหม่
กำหนดค่า

1
ฉันรักษาเป้าหมายทั้งหมดของฉันไว้ทุกวันดูประวัติงานที่ฉันทำและให้ฉันทบทวนสิ่งที่ฉันมีส่วนร่วมกับ บริษัท
crosenblum

tomboy addin "โน้ตประจำวัน" ดีมากสำหรับสิ่งนี้คุณสามารถตั้งค่าเทมเพลตที่มีหัวเรื่องเช่น จากนั้นคุณสามารถเริ่มต้นในแต่ละวันโดยดูที่บันทึกของวันก่อนหน้า live.gnome.org/Tomboy/PluginList
Tim Abell

8

โดยทั่วไปฉันไม่เคยลืมสิ่งที่ฉันกำลังทำงานอยู่ Visual studio ปรากฏขึ้นที่ไฟล์ล่าสุดที่คุณทำงานด้วยหรือฉันไม่เคยปิด Visual Studio เลยและจำศีล

ฉันวางNotImplementedExceptionsที่ abstractions / implementations ซึ่งไม่จำเป็นต้องพัฒนาสิ่งที่ฉันกำลังทำอยู่ต่อไป

ฉันทำสิ่งที่ต้องทำมากมายในรหัสของฉัน แต่ไม่ใช่ตามที่คุณพูด ฉันวางไว้ที่ที่ฉันรู้ว่าวิธีการบางอย่างจะดีกว่าหรือมีประสิทธิภาพมากกว่า แต่ไม่จำเป็นในขณะนี้ สิ่งนี้ให้สิ่งบ่งชี้ที่ดีสำหรับฉันและนักพัฒนาในอนาคตว่ามีที่ว่างสำหรับการปรับปรุงอย่างไร

เมื่อใช้รายการงานของ Visual Studio คุณสามารถดูสถานที่ทั้งหมดที่คุณทิ้งตัวบ่งชี้เหล่านี้ไว้ได้อย่างง่ายดาย

UPDATE:

" แฮ็ค :" ก็ดีเมื่อคุณเขียนสิ่งที่ใช้ได้ แต่คุณก็ไม่พอใจเลย


แต่ถ้าคุณหยุดทำงานในโครงการ (เป็นเวลานาน) เพราะคุณต้องทำงานกับโครงการอื่น
bitbonk

1
@ bitbonk: ฉันจะไม่หยุดทำงานในโครงการใช่มั้ยระหว่างการใช้งานฟังก์ชั่นบางอย่าง อาจจะไม่ใช่ชั้นเรียนดังนั้นจึงไม่มี "ที่นี่"
Steven Jeuris

โชคดีนะคุณ! :)
bitbonk

5

ในตอนท้ายของแต่ละวันฉันเขียนในสมุดงานของฉันเกี่ยวกับสิ่งที่ฉันทำสำเร็จในวันนั้นสิ่งที่ฉันคาดหวังให้สำเร็จในวันถัดไปและสิ่งที่เหลือไว้ให้ทำ

ในตอนต้นของแต่ละวันฉันหมายถึงบันทึกย่อของฉันจากก่อนหน้านี้เพื่อรีเฟรชตัวเองด้วยสิ่งที่ฉันต้องทำ จากนั้นฉันใช้เวลาอีกไม่กี่นาทีในการทำโน้ตให้มากขึ้นตามสิ่งที่เกิดขึ้นตั้งแต่ฉันออกไปคิดว่าฉันต้องทำอะไรอีกและลำดับความสำคัญของฉันคืออะไร

ฉันพบว่าสิ่งนี้ช่วยให้ฉันผ่อนคลายและปล่อยให้ไปในตอนท้ายของวันและเพิ่มขึ้นในช่วงเริ่มต้น นอกจากนี้เมื่อถึงเวลาสำหรับการตรวจสอบรายปีหรือรายไตรมาสฉันต้องอ้างอิงสมุดงานของฉันเพื่อตรวจสอบสิ่งที่ฉันทำในช่วงการตรวจสอบ


2

ฉันใช้เครื่องมือเพิ่มประสิทธิภาพการผลิตสำหรับ VS ด้วยการที่ฉันสามารถตรึงแท็บและจัดกลุ่มพวกเขา = D ด้วยวิธีนี้ฉันไม่เคยลืมสิ่งที่ฉันกำลังทำอยู่

นอกจากนั้นผมยังเพิ่มจำนวนมาก// TODO'sไปยังรหัสของฉัน

http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef/


1

ในการสัมภาษณ์ครั้งหนึ่งใน "The Masterminds of Programming" (ฉันคิดว่ามันเป็น Guido van Rossum ผู้สร้าง Python) ผู้ให้สัมภาษณ์กล่าวว่าเขาได้เพิ่ม//HIERความคิดเห็นที่ชอบในสถานที่ที่เขาเสร็จเมื่อครั้งที่แล้ว "HIER" เป็นภาษาดัตช์ (?) ที่นี่และเขาเลือกเพราะถ้าค้นหาสตริงนั้นไม่น่าจะพบสิ่งอื่น ๆ


"HIER" (ภาษาเยอรมัน)
bitbonk

"HIER" ในภาษาดัตช์ด้วยไม่ใช่ "HEIR"
Steven Jeuris

3
//HIERARCHY DOCUMENTATION... โอ๊ะ!
Mason Wheeler

@Mason: การค้นหา "ทั้งคำเท่านั้น" จะหลีกเลี่ยงปัญหานั้น
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...
    

    วิธีนี้โครงการจะไม่สร้างเมื่อคุณเปิดเครื่องคอมพิวเตอร์หรือกลับไปที่สาขาที่คุณกำลังทำการพัฒนาที่ใช้งานอยู่ คอมไพเลอร์ของคุณจะแสดงบรรทัดที่แน่นอนและไฟล์ที่มันเจอ rants ของคุณ

เทคนิคเหล่านี้ช่วยให้ฉันรู้จักสถานที่ที่ฉันออกจากการพัฒนารวมถึงได้รับการสนับสนุนจากการศึกษาที่ครอบคลุมและประสบการณ์ของโปรแกรมเมอร์จำนวนมากทั่วโลก ฉันแนะนำให้คุณลองพวกเขา


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มันง่ายมากที่จะค้นพบและบำรุงรักษา


0

ฉันเก็บบันทึกการพัฒนาสำหรับการทำซ้ำแต่ละครั้งในโครงการย่อยเอกสารที่ไม่ได้สร้างใน 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

รายการสิ่งที่ต้องทำไม่ทำงานเมื่อเราพูดถึงการกลับมาที่โครงการเมื่อหลายเดือนก่อน ความคิดเห็นในโค้ดใช้งานไม่ได้สำหรับฉันมันง่ายเกินไปที่จะเพิกเฉยหรือจำได้ว่าฉันทำโปรเจ็กต์ X เสร็จสมบูรณ์หรือไม่และควรค้นหาโททอลก่อน และถ้าคุณมีทีมที่ใหญ่กว่าด้วยแต่ละคนมีวลีสิ่งที่ต้องทำของตัวเอง ... ฮึ

ตั้งแต่วันของฉันเริ่มต้นด้วยการอัปเดต / ผสาน / สร้างสิ่งที่ฉันได้ลองในบางโอกาสคือการใส่ข้อผิดพลาดในการคอมไพล์โดยเจตนาในไฟล์ (แต่ไม่ได้เช็คอิน) น่าเสียดายที่ฉันหยุดทำสิ่งนี้หลังจากที่ฉันมีสำนักงานแบบกะทันหันที่ต้องการดูตัวอย่างของสิ่งที่ฉันทำงานเมื่อสัปดาห์ก่อน "ที่นี่ให้ฉันแค่เปิดสิ่งนี้ ... ยึดมั่น ... หมายความว่า ... ตกลงแล้ว ... "

ดังนั้นฉันจึงเปลี่ยนจากการเขียนเป็นกรณีทดสอบที่ล้มเหลวโดยเจตนา


0

ฉันปล่อย emacs ด้วยรหัสที่ฉันใช้งานบนหน้าจอในวันถัดไป

บางครั้งฉันเขียนโน้ตที่ไม่สามารถคอมไพล์ได้ในโค้ดบอกฉันว่าต้องทำอะไรต่อไป

สำหรับวิดเจ็ตที่ซับซ้อนจริงๆที่ฉันมีแนวโน้มที่จะสับสนเกี่ยวกับสิ่งต่าง ๆ ฉันจะเขียนบันทึกถึงตัวเองในสมุดบันทึกหรือแสดงความคิดเห็น


0

หากเพียงเพื่อเก็บไว้ที่ไฟล์ในขณะที่ฉันติดตามการค้นหาบางครั้งฉันก็ใช้เบรกพอยต์

เพื่อติดตามช่วงสุดสัปดาห์ที่ฉันเคยอยู่ฉันทิ้งโน้ตตัวเองไว้กับจำนวนของปัญหาการติดตามบั๊ก


0

คุณใช้ระบบควบคุมเวอร์ชันหรือไม่? ถ้าใช่คุณควรยอมรับการเปลี่ยนแปลงในตอนท้ายของวันและอธิบายสิ่งที่คุณทำและสิ่งที่คุณต้องทำต่อไปในความคิดเห็น และถ้าไม่เช่นนั้นทำไมคุณไม่?


2
-1 ไม่เคยกระทำเพียงเพื่อกระทำ! ถ้าคุณไม่ทำสิ่งที่คุณทำอยู่ล่ะ แม้ว่าคุณจะใช้ DVCS แต่ก็ยังคงเป็นเรื่องน่ารำคาญ กระทำตามการเปลี่ยนแปลงเชิงตรรกะไม่ใช่วัน
ทางเลือก

ฉันไม่เห็นด้วยอย่างเคารพ คุณควรกระทำบ่อยๆ หากคุณยังไม่ได้ทำคุณควรสร้างสาขาชั่วคราวและกระทำการดังกล่าวเพื่อไม่ให้แตกลำต้น ต่อมาเมื่อคุณทำเสร็จแล้วคุณรวมสาขาของคุณกลับมา ความมุ่งมั่นในตอนท้ายของวันยังสร้างงานสำรองของคุณในกรณีที่คอมพิวเตอร์ของคุณเสียชีวิต
Dima

แต่รวมถึงสิ่งที่คุณตั้งใจจะเป็นในวันถัดไปคือการใช้ข้อความที่ไม่เหมาะสม โปรดจำไว้ว่าข้อความเหล่านั้นควรจะสร้างบันทึกเดือนที่มีประโยชน์ลงบรรทัด
Ben Voigt

@Ben Voigt: ตามที่ฉันพูดถ้าคุณต้องหยุดงานกลางงานให้แยกสาขา จากนั้นข้อความยืนยันของคุณจะอยู่ที่สาขานั้นเท่านั้นและจะไม่อยู่ในลำต้นหลัก นอกจากนี้สิ่งที่คุณตั้งใจจะทำในวันถัดไปเป็นคำอธิบายที่ดีมากเกี่ยวกับสถานะปัจจุบันของรหัสของคุณ มันอาจเป็นประโยชน์เดือนลงบรรทัด
Dima


0

ฉันเป็นหนึ่งในไม่กี่คนที่เริ่มต้นใหม่ทุกคืน (ยังอยู่ใน Win XP ในที่ทำงานและฉันรู้สึกว่ามันทำงานได้ดีขึ้น) ดังนั้นฉันจึงสร้างงาน outlook ด้วยชุดเตือนสำหรับเช้าวันถัดไป ฉันอาจใส่ชื่อไฟล์สำเนาของรหัสหรือมีข้อความเพียงพอที่จะแจ้งให้ฉันทราบว่าฉันกำลังทำอะไรอยู่


0

มีหลายสิ่งที่ช่วย:

  • ฉันมองหาข้อความ "AAAAAAAAAAAAAAAAAAAAAAAAAAAA" ซึ่งมีประโยชน์ที่รหัสไม่สามารถเรียกใช้ (ไม่ว่าจะเป็นการรวบรวมหรือตีความรหัส) ดังนั้นฉันไม่ควรพลาด นอกจากนี้แท็กนั้นยังเป็นสีแดงสดสำหรับฉันด้วยซินเนสเตเซียดังนั้นจึงเป็นเรื่องง่ายมากที่จะพบมันแม้จะอยู่ในโค้ดขนาดใหญ่

  • IDE คึกคักไฟล์ที่สถานที่แต่ละที่เปิด (และที่เป็นไฮไลต์เส้น / จุดพัก) ดังนั้นฉันได้อย่างรวดเร็วสามารถจำสิ่งที่ผมทำ

  • ฉันเห็นสิ่งที่ต้องทำในรายการสิ่งที่ฉันกำลังพยายามแก้ไข / คุณสมบัติที่จะใช้


+1: ฉันรักสิ่งนี้อย่างยิ่ง: "นอกจากนี้แท็กนั้นก็เป็นสีแดงสดใสสำหรับฉันด้วยการประสาน ... "
Peter Rowell

0

เนื่องจากคุณไม่ได้บอกว่าคุณต้องใช้รหัสในการคอมไพล์ทั้งในการดีบักและรีลีสสิ่งที่ฉันมักทำคือ:

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

ยากมากที่จะลืมว่า มิฉะนั้นฉันจะใส่คำเตือน #pragma ในรหัสเพื่อให้ปรากฏเมื่อใดก็ตามที่คุณคอมไพล์


0

ฉันใช้เทคนิคหลายอย่าง:

  • วาง @@ ในความคิดเห็นของรหัสหรือในเอกสารสำหรับสิ่งที่ต้องทำในการทำซ้ำปัจจุบัน แต่ไม่ทันที ไม่มีรหัสหรือเอกสารปล่อยเครื่องของฉันหากมี @@

  • สถานที่แห่งหนึ่งที่ฉันต้อง จำกัด การทำงานในวันพรุ่งนี้เช้าฉันทำเครื่องหมายด้วย @@ ที่นี่ นี่เป็นสิ่งที่ไม่จำเป็นเพราะ IDE ของฉันจะเปิดที่ฉันปิดก่อนหน้านี้และคุณยังสามารถบอกให้ Word ทำเช่นนั้นได้

  • ทุกสิ่งที่ควรได้รับการแก้ไข / เพิ่มในภายหลังเข้าสู่ระบบติดตามบั๊กที่เหมาะสมหรืออยู่ในเอกสารการออกแบบ

และคุณแน่ใจหรือไม่ว่า Visual Studio ของคุณจำตำแหน่งสุดท้ายที่คุณทำงานอยู่ไม่ได้ "การระงับการทำงานกับ Visual Studio 2012"กล่าวว่าสามารถทำได้ในปี 2012 (Google สำหรับVisual Studio start "ซ้าย" )

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.