คุณสามารถสร้างรหัสที่มีคุณภาพสูงได้จริงหรือไม่หากคุณไม่ได้นอนหลับ [ปิด]


37

ผมเคยได้ยินเกี่ยวกับการเขียนโปรแกรมการเขียนโปรแกรมเป็นเวลาสองวันโดยไม่ต้องนอนและดื่มกาแฟและกระทิงแดง นอกจากนี้ในภาพยนตร์อย่างThe Social Networkในฉากที่พวกเขาแสดงให้เห็นว่าMark Zuckerbergได้เขียนโปรแกรมมา 36 ชั่วโมงแล้ว ฉันยังอ่านที่ไหนสักแห่งที่ใน บริษัท เช่น Facebook, Google, foursquareฯลฯ พวกเขาสามารถเขียนโค้ดได้นานกว่า 24 ชั่วโมงโดยไม่ต้องนอนหลับ

นี่เป็นเรื่องจริงหรือ คุณสามารถสร้างรหัสคุณภาพสูงได้จริงหรือไม่หากคุณไม่ได้นอนหลับ สิ่งต่าง ๆ เช่น Red Bull ประกอบขึ้นเพื่อการนอนหลับได้หรือไม่?


4
อึศักดิ์สิทธิ์! ฉันไม่คิดว่าเป็นมนุษย์ / โปรแกรมเมอร์ อาจเป็นมนุษย์ต่างดาว? :)
Gopi

25
"เครือข่ายสังคม" ไม่ใช่สารคดี มันขึ้นอยู่กับเหตุการณ์จริงที่เกี่ยวข้องกับการก่อตั้ง Facebook เท่านั้น ในฐานะที่เป็นตลาดด้าน "เรื่องจริง" ก็ปรากฏขึ้น แต่เมื่อใดก็ตามที่ผู้เขียนและผู้อำนวยการถูกมุมโดยผู้สัมภาษณ์พวกเขาจะยอมรับว่ามันเป็นจินตนาการของพวกเขาส่วนใหญ่เกี่ยวกับ
Charles E. Grant

8
บางทีนี่อาจจะควรจะย้ายไป skeptics.stackexchange.com ...
อีวาน

6
บางอย่างสามารถ แต่นั่นเป็นเพราะพวกเขาปกติผลิตรหัสที่มีคุณภาพสูงกว่า แต่น่าเสียดายที่มันเป็นเรื่องปกติมากขึ้นในการผลิตโค้ดที่มีคุณภาพเฉลี่ยแม้ในขณะพักผ่อนอย่างเต็มที่ ...

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

คำตอบ:


77

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

PS: มีอาการเจ็บป่วยที่เรียกว่าโรคนอนไม่หลับที่ทำให้คุณนอนหลับน้อยลง แต่ฉันไม่คิดว่า Google จะจ้างคนที่มีความเจ็บป่วยเช่นนี้ :)


28
+1: โปรแกรมเมอร์ที่ดีจริง ๆ ใช้เวลาส่วนใหญ่คิดถึงปัญหาก่อนที่จะสัมผัสกับคอมไพเลอร์ เมื่อพวกเขาทำวิธีแก้ปัญหาโดยทั่วไปแล้วจะคิดง่าย ๆ เรียบง่ายเป็นนามธรรมและดูแลรักษาง่ายการเข้ารหัสจึงกลายเป็นเรื่องไม่สำคัญ
Justin Shield

1
@EOL: D จริงพอที่ควรอ่าน "keyboard"
Justin Shield

4
ประสบการณ์ของฉันคือว่าประมาณ 21.00 น. หลังจากเริ่ม 9 โมงเช้า (เช่น 12 ชั่วโมง) ฉันเหนื่อยหงุดหงิดไม่สามารถคิดได้และไม่สามารถเขียนอะไรหรือแก้ไขจุดบกพร่องได้ บ้านและการนอนหลับนั้นมีประสิทธิภาพมากกว่าสิ่งโง่ ๆ เช่นการดึงนักสู้ทุกคน ว่าสิ่งนี้เสร็จสิ้นอย่างมีประสิทธิภาพเป็นตำนาน
quick_now

3
@quickly_now แน่นอน รหัสจะแย่ลงและแย่ลงอย่างมากในฟังก์ชันของเวลา ดังนั้นในทางเทคนิคคุณสามารถเขียนโค้ดได้ตราบใดที่คุณสามารถนั่งหน้าคอมพิวเตอร์ แต่อย่ามาที่ SO และถามว่าฟังก์ชันการเรียงลำดับ O (n ^ n) ของคุณสามารถปรับให้เหมาะสมได้อย่างไร)
ดร. แมคเคย์

20
รอคุณได้รับอนุญาตให้เข้านอนหลังจากการเข้ารหัสเพียง 24 ชั่วโมง? ฉันรู้ว่างานนี้ฟังดูคาวเมื่อฉันเริ่ม!
Nick Craver

41

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

โอ้แน่นอนว่าเด็กหนุ่มบางคนที่เพิ่งออกจากโรงเรียนมัธยมสามารถดึงสิ่งที่ดูเหมือนจะเป็นปาฏิหาริย์บางอย่างใน 36 ชั่วโมง แต่เป็นรหัสที่เขียนในแฟชั่นที่รักษาได้? มันสามารถอ่านได้หรือไม่ มันปรับขนาดได้หรือไม่? มันเป็นไปตามแนวทางปฏิบัติในการเขียนโปรแกรมที่สมเหตุสมผลหรือไม่? มันเป็นเอกสารหรือไม่?

Twitter แฮ็กไซต์ที่ใช้งานร่วมกันได้แล้วจึงเขียนใหม่เป็นวิธีที่ "ถูกต้อง" เพราะมันล้มลงเมื่อโหลดมีขนาดใหญ่เกินไป Facebook รวบรวมเว็บไซต์ดั้งเดิมของพวกเขาในระยะเวลาอันสั้นสำหรับโครงการดังกล่าว แต่ต่อมาได้นำนักพัฒนาใหม่จำนวนมากมาเขียนแพลตฟอร์ม PHPที่เว็บไซต์กำลังทำงานอยู่เพราะมันจะไม่ขยาย

ข้อยกเว้นพิสูจน์กฎ


6
เราอาจมองว่าสิ่งเหล่านี้เป็นเหตุผลที่น่าสนใจไม่ต้องกังวลเกี่ยวกับการทำสิ่งนี้ให้ถูกต้องในครั้งแรก - อย่างน้อยก็ไม่ใช่เมื่อคุณอาจสร้างตลาดใหม่
Aaronaught

1
Twitter เขียนใหม่ไม่เป็นความจริงตามโพสต์ที่คุณเชื่อมโยงกับ ดูการปรับปรุง
jjnguy

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

2
มันอาจไม่นำไปสู่รหัสที่มีคุณภาพสูง แต่ถ้าคุณมีพื้นฐานของคุณลงและสามารถทำ TDD "ในโหมดสลีปของคุณ" รหัสนั้นจะไม่เลวร้ายขนาดนั้น สิ่งที่ยิ่งใหญ่ที่การเขียนโค้ดในขณะที่เหนื่อยนั้นคือสมองของคุณมีแนวโน้มที่จะเพิกเฉยต่อความคิดแบบสุ่มน้อยลงและทำให้คุณมีความคิดสร้างสรรค์มากขึ้น en.wikipedia.org/wiki/Sleep_and_creativity
Ape-inago

29

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

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

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


3
+1 สำหรับการเพิ่มแนวคิดที่ว่าเวลาที่ไม่ถูกขัดจังหวะอาจเป็นเวลาคุณภาพ (แต่ในปริมาณที่เหมาะสมเท่านั้น)
Eric O Lebigot

1
@ ความเข้มข้น DXD ช่วยได้มาก คุณภาพของเวลาในช่วงเวลา
lovesh

1
@ leshesh - ฉันจะไม่พูดอย่างนั้น (คุณภาพของเวลา) x (จำนวนเวลา) = ผลลัพธ์ การเพิ่มอย่างใดอย่างหนึ่งเพิ่มผลลัพธ์ อย่างไรก็ตามการเพิ่มขึ้นของเวลาทำให้คุณภาพลดลงในที่สุด เป้าหมายของเราอยู่เสมอเพื่อเพิ่มผลลัพธ์
DXM

13

ทุกอย่างดูเหมือนจะเป็นการพูดเกินจริงว่า"อยู่ในโซน" เมื่อคุณมุ่งเน้นไปที่ coder ทั้งหมดเวลาจะแปรปรวนนาทีกลายเป็นวินาที ฯลฯ คุณอาจเป็นคนที่มีประสิทธิผลมากที่สุด บางครั้งมันก็ยากที่จะอยู่ในสถานะนั้นและค่อนข้างง่ายที่จะออกจาก (ปัจจัยภายนอกส่วนใหญ่) แต่เมื่อคุณ .... ว้าว!


2
ฉันเขียนบทความเกี่ยวกับวิธีรวมวลี "ในโซน" เมื่อคุณโพสต์สิ่งนี้
knb

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

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

10

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

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

ตอนนี้คุณจะไม่ค่อยพบรหัสคุณภาพที่ผลิตระหว่างมาราธอนดังกล่าว อย่างไรก็ตามสาเหตุหลักของเหตุการณ์นี้คือสถานการณ์ที่มาราธอนเหล่านั้นเกิดขึ้น: สถานการณ์ที่คุณต้องส่งมอบคุณลักษณะ X, Y และ Z ภายในกรอบเวลาที่สั้นมาก ไม่มีใครใส่ใจคุณภาพของรหัส ณ จุดนั้นซึ่งเป็นสาเหตุที่คุณสะสมหนี้สินทางเทคนิคจำนวนมากผ่านการแก้ไขด่วนและการแฮ็กอื่น ๆ
ในขณะเดียวกันสิ่งนี้บ่งบอกถึงการทำงานของสมองที่ไม่เปลี่ยนแปลง: Quickfixes และ hacks ต้องการทั้งภาพรวมและความคิดสร้างสรรค์

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

บรรทัดล่างคือ: คุณควรทำงานตราบเท่าที่คุณสามารถและไม่ได้อีกต่อไป หากคุณสามารถทำงานได้เพียง 4 ชั่วโมงก็โอเค หยุดพักและทำงานหลังจากนั้น การพยายามตื่นตัวอยู่ภายใน 36 ชั่วโมงซึ่งคุณทำงานเสร็จ 8 ชั่วโมงนั้นไร้ประโยชน์ คุณจะได้งานทำสองครั้งหากคุณทำ 4 ครั้งในแต่ละ 4h และใช้ 20h ที่เหลือเพื่อสร้างใหม่
หากคุณสามารถทำงานได้หลายชั่วโมงหมายความว่าคุณมีความยืดหยุ่นในการตอบสนองต่อการประเมินค่าต่ำไป อย่างไรก็ตามทางออกระยะยาวคือการปรับปรุงกระบวนการวางแผนและการประมาณของคุณ หากเป็นไปไม่ได้ที่สถานที่ทำงานของคุณให้เปลี่ยนงาน หากผู้คนคาดหวังให้คุณทำงานเป็นเวลานานให้สลับงาน คุณไม่ต้องพิสูจน์อะไรกับใครเลย


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

@VJovic: ถ้าคุณพูดอย่างนั้นฉันคิดว่าเราทุกคนจะต้องเชื่อว่ามัน;)
back2dos

5

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


1
และเพียงเพราะคุณไม่สามารถหมายความว่าคุณมีประสิทธิภาพโดยเฉพาะอย่างยิ่งหลังจากนั้นประมาณ 12 ถึง 15 ชั่วโมง
quick_now

10
โปรแกรมเมอร์ที่ไม่ดีสามารถโปรแกรมเป็นเวลา 36 ชั่วโมง ระยะเวลาในการเขียนโปรแกรมไม่เกี่ยวข้องกับคุณภาพของเครื่องเข้ารหัส
Marjan Venema

5

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

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


5

ใช่. ข้อมูลเล็ก ๆ น้อย ๆ บ่งชี้ว่าสามารถ ฉันสงสัยว่าใครก็ตามสามารถสร้างนิสัยให้เลิกงานมาราธอนได้ แพทย์ฝึกงานดึงชั่วโมงประเภทนี้

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


4
+1 สำหรับการอ้างอิงถึงเจ้าหน้าที่ทางการแพทย์ ฉันคิดว่าแพทย์โรงพยาบาลที่ทำงานหนักเกินไปกำลังทำสิ่งนี้อยู่เป็นประจำ ... การทำงานกะกลางคืนที่เครียดและตามมาด้วยการเลื่อนเวลาออกไป ... แน่นอนว่าจะหมดไปหลังจากสองสามเดือนหรือหลายปี
knb

6
ขณะนี้มีความคิดที่ปลอบโยน;) การฝึกงานที่ถูกกีดกันจากการนอนหลับและผู้ที่มีปัญหาสุขภาพที่คุกคามชีวิต ลองแก้ไขข้อผิดพลาดเหล่านั้น "ภายหลัง"
Leigh

1
ความเสี่ยงที่เกิดจากการฝึกงานแบบไม่ได้รับการยอมรับนั้นเป็นที่รู้จักกันดีและหลาย ๆ องค์กรกำลังยกเลิกการฝึกฝน ในส่วนของมันยังคงอยู่เพราะแพทย์ที่กำลังฝึกอบรมอยู่ในกะยาวเหล่านั้น
BillThor

4

มันเป็นไปไม่ได้และมันเกิดขึ้นจริง เนื่องจากบทยาวให้ฉันพูดถึงย่อหน้าจริง:

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

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


3

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

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


ดีถ้าคุณภาพได้รับผลกระทบคนมาที่ Facebook ทำตลอดเวลา (อย่างน้อยมันก็บอกว่าทำ)
lovesh

4
... จากประสบการณ์ล่าสุดของฉันกับ Facebook ฉันจะบอกว่ามันค่อนข้างสอดคล้องกับข้อโต้แย้งของฉัน ฉันพบข้อผิดพลาด 3 หรือ 4 ครั้งโดยใช้ส่วนต่างๆของ Facebook วันนี้
Kaleb Brasee

3
@lovesh "ได้มีการกล่าวว่าพวกเขาทำได้" และ "พวกเขาทำได้" เป็นสองสิ่งที่แตกต่างกัน
Scott C Wilson

3

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

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

ไม่มีอะไรพิเศษเกี่ยวกับโคเดอร์ไม่ว่าพวกมันจะเก่งแค่ไหนเช่นคนขับเครื่องจักรกลหนักพวกเขาจะเหนื่อยล้าและฉันก็ต้องตะลึงถ้าใครสามารถพิสูจน์ว่า coder สามารถให้ผลผลิตคุณภาพสูงโดยไม่ต้องพักภายใน 12 ชั่วโมง .


2

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


2

ฉันและคนสร้างสรรค์อื่น ๆ แสดงให้เห็นถึงคุณสมบัติของบุคลิกภาพสองขั้ว เมื่อออกแบบซอฟต์แวร์ฉันมักจะทำตามอัลกอริทึมของไฟน์แมน:

  1. จดบันทึกปัญหา (นาที)

  2. คิดหนักจริง (ระหว่างวันและปี)

  3. เขียนวิธีการแก้ปัญหา (วัน)

ตอนที่ hypomanic กับการนอนหลับลดลงอย่างมาก (คาเฟอีนหรือไม่) เป็นเพียงตั๋วไปจบ # 3


2

โปรดดูโพสต์ที่เกี่ยวข้องใน Skeptics.SE: Ballmer Peak เป็นจริงหรือไม่? และโดยเฉพาะอย่างยิ่งคำตอบนี้โดยESultanik

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

การอ้างอิงจากการอ้างอิงของ ESultanik

... การบริโภคเครื่องดื่มที่มีแอลกอฮอล์น้อยยับยั้งลักษณะของความคิดสร้างสรรค์โดยส่วนใหญ่ขึ้นอยู่กับกระบวนการรอง (การเตรียมการบางส่วนของการให้แสงสว่างและการตรวจสอบ) และจะกำจัดสิ่งเหล่านั้นตามกระบวนการหลัก (การบ่มบางส่วนของการส่องสว่าง

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


2

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

ดังนั้นโดยทั่วไปเมื่อมีการเข้ารหัส 36 ชั่วโมงตรงคุณภาพของรหัสจะประสบ .. แต่มันไม่สำคัญจากจุดยืนทางธุรกิจ .. เพราะถ้าคุณไม่ได้จัดส่งบางสิ่งบางอย่างแม้แต่สิ่งที่เสียหายคุณอาจไม่ได้ทำธุรกิจ ที่จะทำมันถูกต้อง

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

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


1

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

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

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

โอ้และสำหรับพวกเราที่มีความโน้มเอียงส่วนใหญ่ก็กำลังเพิ่มจำนวนใน JD & Coke :)


+1 ฉันไม่แน่ใจว่านี่ตอบคำถาม แต่ฉันชอบคำตอบต่อไปนี้ :-)
Danny Varod

0

ฉันคิดว่าการทำงานอย่างมีประสิทธิภาพมาเป็นเวลานานโดยไม่มีการนอนหลับนานเป็นไปไม่ได้สำหรับคนส่วนใหญ่

แต่ฉันคิดว่าคุณสามารถทำงานได้อย่างยอดเยี่ยมด้วยการนอนหลับที่ดี 3-4 ชั่วโมง วิธีนี้ใช้ได้ผลเป็นเวลานานติดต่อกันหลายวันสำหรับการทำงานหนัก (ปัญญา) ด้วยการนอนน้อย

อย่างไรก็ตามสำหรับฉันสิ่งนี้จะต้องตามด้วยระยะเวลาการกู้คืนหลังจากนั้น พูดสองสามคืนด้วยการนอนหลับตามปกติ 7-8 ชั่วโมง


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