คุณจะต่อสู้กับความเหนื่อยล้าในการเขียนโปรแกรมได้อย่างไร [ปิด]


48

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

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

หรือฉันคนเดียวในเรื่องนี้?


4
ความคืบหน้าของคุณสามารถวัดได้ในโครงการของคุณแม้ในขณะที่คุณเข้าสู่ Roadblock ถ้าไม่ให้พิจารณาทำให้มันวัดได้ การมองเห็นความก้าวหน้าที่มั่นคงเป็นสิ่งที่ดีที่สุดที่ฉันรู้

7
สิ่งนี้ทำให้ฉันนึกถึง Mort (Terry Pratchett) - บิตที่ Mort กำลังล้างมูลสัตว์ในคอกม้า "ดูสิเขาคิดว่าฉันทำไปเกือบหนึ่งในสี่ลองเรียกมันว่าหนึ่งในสามดังนั้นเมื่อฉันทำมุมนั้นโดยทางรถวิ่งมันจะมากกว่าครึ่งเรียกว่าห้าสิบแปดซึ่งหมายถึงอีกสาม รถสาลี่โหลด ... มันไม่ได้พิสูจน์อะไรมากไปกว่าความงดงามอันน่าทึ่งของเอกภพนั้นจะจัดการได้ง่ายกว่าถ้าคุณคิดว่ามันเป็นกลุ่มก้อนเล็ก ๆ "
Steve314

@ Steve314: +1 หิน Pratchett
Orbling

ลองผลปลาดุก
วงเวียน

@rwong: โครงการส่วนใหญ่ของฉันเป็นโครงการเดี่ยว (หรือทีมเล็ก ๆ ) มันฟังดูเป็นแนวคิดที่น่าสนใจ
sevenseacat

คำตอบ:


42

การผัดวันประกันพรุ่ง

สิ่งที่คุณอธิบายอาจจะผัดวันประกันพรุ่ง มันเป็นปรากฏการณ์ที่ธรรมดามาก คลิกที่ลิงค์และอ่านเกี่ยวกับทฤษฎีแรงจูงใจในชั่วขณะ

เพื่อเอาชนะการผัดวันประกันพรุ่งฉันทำรายการ เมื่อฉันรู้สึกว่าฉันผัดวันประกันพรุ่งฉันเปิดรายการและบังคับให้ฉันทำงานในรายการแรก หลังจากนั้นไม่กี่นาทีผมได้รับในโซนหรือไหลตามที่อธิบายไว้โดยนักจิตวิทยาMihályCsíkszentmihályi

คุณควรรู้จักคุณในภาพนี้:

ข้อความแสดงแทน


2
+1 สำหรับบังคับตัวเอง ฉันพบว่าสิ่งนี้เป็นจริงกับฉัน การเริ่มต้นเป็นส่วนที่ยากที่สุด
Michael K

2
คุณไม่พบว่าเป็นเวลาหลายปีในทุกโครงการที่ลงมาบนแกนตั้ง มีแนวโน้มที่จะเคลื่อนไหวในแนวนอนด้วย
Orbling

ฉันผัดวันประกันพรุ่งทั้งวันในวันนี้แทนที่จะเข้ารหัสโครงการโอเพนซอร์สของฉัน บ้า
gruszczy

1
+1 สำหรับการแก้ไขปัญหานี้
Conor

2
ฉันพบว่าหากรายการมีเพียงงานที่ไม่พึงประสงค์ที่ด้านบนก็อาจเป็นไปไม่ได้ที่จะบังคับตัวเองให้ทำ ...
Roman Starkov

10

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


4
ห้องอาบน้ำเป็นสถานที่ที่ดีสำหรับการแก้ไขข้อบกพร่อง
Orbling

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

8

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

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

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


โดยทั่วไปแล้วอยู่ในโครงการ แต่อยู่ในช่วงงานยุ่งใช่ไหม และใช่นั่นคือความรู้สึกที่เลวร้ายที่สุด - เมื่อคุณใส่เวลาทั้งหมดนี้ลงในบางสิ่งและยังรู้สึกว่าคุณยังไม่ได้ทำอะไรเลย
sevenseacat

3
@Karpie คุณยังคงประสบความสำเร็จบางสิ่งบางอย่าง การทำ 'ยุ่ง' บางอย่างช่วยให้คุณสามารถทำงานต่อไปได้ในสิ่งที่ต้องทำ แต่มันไม่ใช่สิ่งที่ต้องใช้สมองของคุณในการยิงใส่กระบอกสูบทั้งหมด

ฉันไม่รู้ - งาน GUI ดูเหมือนว่าจะทำงานอยู่เสมอสำหรับฉัน การทำให้มันทำงานได้อย่างถูกต้องและใช้งานได้นั้นสนุกและท้าทาย แต่การทำให้มันดูดีเป็นเรื่องยากสำหรับฉัน
Michael K

เมื่อฉันก้าวออกไปสักพักแบบนี้ประมาณ 50% ของเวลาที่ฉันไม่เคยกลับมา ... : /
Roman Starkov

6

ฉันมีแนวโน้มที่จะตกอยู่ในพื้นที่นี้เกือบตลอดเวลา

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

มันเพียงพอที่จะทำให้คุณตาย

ฉันไม่เคยพบอะไรที่เป็นประโยชน์กับฉันฉันแค่ทำงานหรือเล่นกับสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิง (stackoverflow ดีสำหรับเรื่องนี้) จนกระทั่งฉันเบื่อกับสิ่งอื่นและเริ่มรู้สึกผิด จากนั้นให้ทำงานน่าเบื่อเล็กน้อย ผลผลิตลดลงประมาณ 20% แต่นั่นเป็นภาระของการเข้ารหัสที่น่าเบื่อ

มีทางออกหนึ่งคือการเขียนโปรแกรมของทีมยากที่จะหยุดนิ่งเมื่อผู้อื่นเกี่ยวข้องโดยตรง


1
+1 การสร้างทีมทำงานได้ยอดเยี่ยม น่าเสียดายที่มันยากมากที่จะให้คนอื่นสนใจโครงการส่วนตัวของคุณ
dan_waterworth

@dan_waterworth: จริงแม้ว่ามันเป็นเวลาหลายปีที่ดีมากตั้งแต่ฉันได้ตั้งโปรแกรมเพื่อประโยชน์ของตัวเอง 60-80 ชั่วโมงต่อสัปดาห์โดยมีวันหยุดเล็ก ๆ อันมีค่ามานานหลายปี
Orbling

2
+1 สำหรับความซื่อสัตย์: "... จนกว่าฉันจะเบื่อกับสิ่งอื่นและเริ่มรู้สึกผิด ... ผลผลิตลดลงเหลือประมาณ 20% ... "
Kavka

คุณสามารถให้รายละเอียดเพิ่มเติมในการเขียนโปรแกรมของทีมได้ไหม?
Esqarrouth

6

การเขียนโปรแกรมคู่

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

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


+1 เนื่องจากเป็นสิ่งเดียวที่ฉันแนะนำในคำตอบของฉันแม้ว่าจะเรียกมันว่าการเขียนโปรแกรมของทีมเนื่องจากมีมากกว่าสองรายการที่ดี ;-)
Orbling

3

เรียนรู้ภาษาใหม่ ไม่มีอะไรที่เหมือนกับการเรียนรู้ภาษาใหม่ ๆ เพื่อจุดประกายความสนใจของคุณ ฉันขอแนะนำ Haskell


1
+1 สำหรับภาษาใหม่ +1 สำหรับ Haskell คณิตศาสตร์การลงคะแนนปรากฏขึ้นเพื่อให้1 + 1 = 1อย่างไร
Orbling

1
@Orbling เป็นเพราะ1 | 1 = 1
dan_waterworth

ฉันคิดว่า1 & 1 = 1จะใกล้เคียงกับความตั้งใจของฉัน ;-)
Orbling

1
@Orbling วิธีการเกี่ยวกับP(vote) = S((1 + 1)/t)ที่S(x)เป็นฟังก์ชัน sigmoid หรือไม่ (คุณสามารถเลือกอุณหภูมิของระบบ)
dan_waterworth

นั่นคือสิ่งที่ฉันพยายามกับโครงการล่าสุดของฉันฉันพยายามเรียนรู้ Ruby และ Rails! นั่นคือส่วนหนึ่งเกี่ยวกับเอกสารที่ไม่ได้อยู่ที่นั่นเลย ...
sevenseacat

2

ฉันเริ่มกดปุ่มบริเวณอื่นเป็นเวลาหนึ่งชั่วโมงหรือถึง ฉันใช้ Eclipse ในที่ทำงานและ Eclipse ช่วยให้คุณใส่// TODO:รหัสของคุณแล้วทำการรวมทั้งหมดไว้ในหน้าต่างให้คุณ ถ้าฉันเห็นบางสิ่งที่ฉันต้องการเปลี่ยนแปลงหรือแก้ไขในขณะที่ฉันกำลังทำงานอย่างอื่นฉันใส่สิ่งที่ต้องทำในดังนั้นฉันจะไม่ทำลายโมเมนตัมของฉัน เมื่อฉันติดขัดนานเกินไป (มากกว่าหนึ่งหรือสองชั่วโมง) ฉันจะเริ่มทำงานในรายการ มันมีการเปลี่ยนแปลงของทิวทัศน์และส่วนใหญ่การเปลี่ยนแปลงนั้นค่อนข้างง่ายซึ่งช่วยให้ฉันผ่อนคลาย บ่อยครั้งที่คำตอบจะโผล่ออกมาในขณะที่ยังให้ฉันรู้สึกว่าฉันทำอะไรบางอย่างสำเร็จ

หมายเหตุ: ฉันรักการปรับโครงสร้างใหม่และสร้างรหัสให้ดีขึ้นเรื่อย ๆ ไมล์สะสมของคุณอาจแตกต่างกันไป


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