จะเป็นโปรแกรมเมอร์ที่“ เร็วขึ้น” ได้อย่างไร?


142

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

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

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

ข้อเสนอแนะใด ๆ ที่ชื่นชมอย่างมากขอบคุณ


96
ใช้เวลาทำงาน SO น้อยลงถ้าคุณทำเช่นนั้น
San Jacinto

52
หากคุณกำลังอ่านสิ่งนี้มันสายเกินไปแล้ว

32
ฉันอ่าน "ทำอย่างไรถึงจะเป็นโปรแกรมเมอร์ที่อ้วนขึ้น" ทำให้ฉันรู้สึกแย่มาก
marcgg

13
ฉันจะถามคำถามติดตามคุณ เป็นความปรารถนาของคุณที่จะเป็น "โปรแกรมเมอร์เร็วกว่า" เป็นผลมาจากประสิทธิภาพที่ไม่ดีของคุณหรือไม่ (AKA คุณต้องฝึกฝนทักษะของคุณคุณต้องมุ่งเน้นและกำจัดสิ่งรบกวน (เช่น SO) ฯลฯ ) หรือเป็นการวางแผนที่ไม่ดีจากการพัฒนา จุดยืน (AKA คุณได้รับ 1 สัปดาห์ในการทำสิ่งที่คนมีสติรู้จะใช้เวลา 1 เดือน) แต่ละรายการมีวิธีแก้ไขปัญหาที่แตกต่างกันมาก

3
ไม่มีคำตอบเดียวที่เป็นไปได้ดังนั้นให้เป็นคำถามของวิกิชุมชนหรือปิดคำถามให้กับคุณ
Donal Fellows

คำตอบ:


190

ปิดเครื่องคอมพิวเตอร์ หยิบดินสอและกระดาษ ร่างการออกแบบของคุณ ตรวจสอบกับเพื่อนของคุณ จากนั้นเขียนรหัส


9
หรือคุณสามารถเปิดคอมพิวเตอร์ของคุณและเปิดขึ้นมาเช่น MS Visio
sshow

208
ดินสอและกระดาษหรือไวท์บอร์ดนั้นเร็วกว่าแอพพลิเคชั่นส่วนใหญ่ที่ฉันเคยใช้
Thomas Owens

24
การทำมันบนกระดาษเน้นที่ใจ

100
ทำไมฉันไม่สามารถลงคะแนนความคิดเห็น visio? การไม่ใช้ visio เป็นวิธีหนึ่งในการเร่งการพัฒนา!

52
อืม .... Visio ทุกครั้งที่ฉันขอให้ "ใช้ Visio ในเอกสารการออกแบบของคุณ" ฉันวาดมันลงบนกระดาษก่อนจากนั้นใช้เวลาสองวันในการต่อสู้เพื่อให้ได้บรรทัดทั้งหมดใน Visio ที่ถูกต้อง
Robert Fraser

149

แนวคิดบางอย่าง ...

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

7
+1 สำหรับการไม่สร้างล้อใหม่ เรียนรู้การสร้างรหัสที่สามารถนำกลับมาใช้ใหม่ได้ซึ่งสามารถเสียบปลั๊กในรหัสอื่นและทำงานได้โดยไม่ต้องเขียนซ้ำขนาดเล็ก (เช่น: ฟังก์ชั่นพร้อมพารามิเตอร์แทนที่จะใช้การเข้ารหัสแบบยาก)

34
+1 สำหรับ "หลีกเลี่ยงการชุบทอง" - นี่เป็นสาเหตุของฉันที่ขาดเส้นตายมากเกินไปเพราะมีแนวโน้มที่จะยึดถืออุดมคติและอุดมคติของฉัน
Dinah

7
การพิมพ์ - จุดสำคัญ ประหลาดใจเสมอที่จำนวนของโคดที่ผมได้พบกับคนที่ไม่ได้เรียนรู้ที่จะพิมพ์ ...
ข้าวเจ้า

2
+1 กำจัดสิ่งรบกวน เท่าที่ฉันเห็นมันพวกเขาเป็นนักกินครั้งสำคัญ

2
+1 สำหรับเคล็ดลับในการปรับปรุงไมโคร (แทนการปรับปรุงแมโครในแง่ของการวางแผนโครงการ)

132

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

คุณ (และทีมของคุณ) กำลังทำข้อผิดพลาดอย่างใดอย่างหนึ่งต่อไปนี้ (หรือทั้งหมด):

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

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

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


47
devs บางตัวช้าเกินไปจริง ๆ มันอาจเป็นปัญหา

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

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

15
@flesh - หากคุณรู้ว่าคุณช้าทำไมคุณไม่วางแผนกำหนดตารางการบัญชีสำหรับข้อเท็จจริงนี้ กล่าวอีกนัยหนึ่งถ้าคุณรู้ว่าคุณไม่สามารถวิ่งเร็วเท่ากับ Usain Bolt คุณจะวางแผนวิ่ง 100m ใน 9.7s ไหม
Franci Penov

5
@Kibbee - ในสถานการณ์นี้คุณได้ตัดฟีเจอร์ต่างๆ คุณไม่สามารถสัญญาว่าจะทำงานบางอย่างในเวลาที่คุณรู้ว่ามันไม่สามารถทำได้และหวังว่าจะเป็นปาฏิหาริย์
464 Franci Penov

89

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


3
นี้แน่นอนบางครั้งสามารถเพิ่มผลผลิตอย่างมาก
sshow

6
การเขียนโค้ดจริงเป็นเพียงส่วนหนึ่งของงานของนักพัฒนาซอฟต์แวร์ การใช้เวลาในการเรียนรู้ IDE เพื่อความสมบูรณ์แบบคือการปรับให้เหมาะสม และคุณรู้ว่าสิ่งที่พวกเขาพูดเกี่ยวกับการเพิ่มประสิทธิภาพใช่ไหม? - "วัดก่อนแล้วจึงปรับแก้ปัญหาคอขวด"
Franci Penov

1
ฉันไม่เห็นสิ่งนี้เลย ถ้าฉันลดเวลาในการพิมพ์ลง 50% จะใช้เวลานานเท่าไหร่ในการประหยัดทั้งวัน? จากประสบการณ์ของฉันฉันใช้เวลาส่วนใหญ่คิดเกี่ยวกับ / ทดสอบ / ประเมินผล / แก้ไขเล็กน้อย / รหัส ฯลฯ เมื่อเทียบกับการเขียนจริงฉันคิดว่านี่จะจบลงด้วยการไม่ชนะมากเลย

4
มันทำให้การนำทาง IDE สิ่งที่คุณทำโดยไม่คิด สิ่งใดก็ตามที่ต้องใช้ความพยายามอย่างจริงจังเช่นการย้ายไปที่ปุ่มสีเทาเล็ก ๆ ที่ทำเครื่องหมายสิ่งใดสิ่งหนึ่งหรืออื่น ๆ ถัดจากปุ่มสีเทาเล็ก ๆ อื่น ๆ ที่ทำให้คุณช้าลงโดยการขัดจังหวะความคิดของคุณ การมี ctrl-n ใต้ปลายนิ้วของฉันโดยไม่มีการเคลื่อนไหวใด ๆ เป็นชัยชนะสุทธิที่สำคัญ
Paul McMillan

5
ในบรรทัดเดียวกัน: เรียนรู้ปุ่ม "ร้อน" ทั่วไป เช่นในโปรแกรม Windows หลายโปรแกรม ... คัดลอก: Ctrl + c ตัด: Ctrl + x ('x' ดูเหมือนกรรไกรคู่ที่เปิดอยู่) วาง: Ctrl + v (ถัดจาก 'c' และ 'x' ด้านบน) ไปที่จุดเริ่มต้นของบรรทัด: หน้าแรกไปที่จุดสิ้นสุด: สิ้นสุดย้ายเคอร์เซอร์ด้วยคำ (ไม่ใช่ตัวอักษร): [Shift] + Ctrl + ซ้ายหรือขวาไปที่ด้านบนของ doc: Ctrl + Home ไปที่จุดสิ้นสุดของ doc: Ctrl + End ฯลฯ

38

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

หลายคนหลายคนมุ่งมั่นเพื่อคุณภาพ "สุดยอด" โดยเสียค่าใช้จ่ายของบางสิ่งที่ (a) ง่าย, (b) เชื่อถือได้และ (c) ถูกต้อง

วิธีที่สำคัญที่สุดในการเร่งการพัฒนาของคุณคือการทำให้สิ่งที่คุณทำนั้นง่ายขึ้นเพื่อให้ง่ายที่สุดเท่าที่จะทำได้

คนส่วนใหญ่ที่มีปัญหากับการส่งมอบตรงเวลากำลังส่งมอบวิธีมากเกินไป และเหตุผลที่ให้มักโง่เขลา พวกเขามักจะรับรู้ความต้องการไม่ใช่ความต้องการจริง

ฉันได้ยินผู้คนมากมายบอกฉันว่าลูกค้าคาดหวังอะไร นี่เป็นนโยบายที่ไม่ดี

สร้างสิ่งที่ง่ายที่สุด หากลูกค้าต้องการมากขึ้นสร้างมากขึ้น แต่สร้างสิ่งที่ง่ายที่สุดก่อน


"หลายคนหลายคนมุ่งมั่นเพื่อคุณภาพ" สุดยอด "ด้วยค่าใช้จ่ายของสิ่งที่ (a) ง่าย, (b) น่าเชื่อถือและ (c) ถูกต้อง" คุณสามารถทิ้งไว้ที่นั้นและฉันจะลงคะแนนให้
corymathews

"ลดความซับซ้อนลดความซับซ้อน" ~ Henry David Thoreau

2
ใช่ ... นี่หมายถึงสิ่งที่เป็นนามธรรมก่อนวัยอันควรเช่นกัน หากมีบางสิ่งที่จะมีการนำไปใช้งานเพียงอย่างเดียวอย่าทำให้เป็นอินเทอร์เฟซ
Robert Fraser

3
หนึ่งในคำพูดที่ชื่นชอบมีความเหมาะสมในสถานการณ์นี้ "ทำอะไรที่ง่ายที่สุด แต่ไม่ง่ายกว่า" ~ การถอดความ, Albert Einstein
Nemi

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

32

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

แต่บ่อยครั้งที่การเพิ่มความเร็วหมายถึงการเสียสละคุณภาพ


10
ฉันอยากจะแนะนำ "ทำให้มันทำงาน" และถ้าเวลาอนุญาตให้เดินทางไปที่สมบูรณ์แบบ!
ไว้

28
-1: ไม่มีเหตุผลที่จะเสียสละคุณภาพ คุณสามารถเสียสละคุณสมบัติต่างๆ
S.Lott

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

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

2
หากคุณติดอยู่ที่ฟีเจอร์เดียวให้ทำสิ่งที่แตกต่างออกไป

29

การนำกลับมาใช้ใหม่ - ฉันพยายามแยกส่วนที่ฉลาดออกจากโครงการก่อนหน้านี้ดังนั้นฉันจึงสามารถใช้อีกครั้งในการลงทุนในอนาคต ควรถามตัวเองเสมอว่า "ฉันจะใช้อีกสักวันหนึ่งได้ไหม?"


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

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

2
การมี "กระเป๋าของลูกเล่น" เป็นกุญแจสำคัญ หากสิ่งนี้กลายเป็นปัญหาของงานของคุณมันจะคุ้มค่าที่จะใช้เวลาของคุณในการพัฒนาชิ้นส่วนที่นำกลับมาใช้ใหม่ได้ (สมมติว่าโดเมนที่คุณทำงานอยู่นั้นเป็นหน้าที่ของโค้ดที่นำมาใช้ซ้ำ)

24

ง่าย ๆ เข้าไว้.

หากคุณใช้ TDD คุณควรทำตาม " สีแดงสีเขียวตัวทำซ้ำ ":

  1. เขียนการทดสอบที่ล้มเหลว ( สีแดง ) (บ่อยครั้งสำหรับการใช้งานโค้ดของคุณยังไม่มี)
  2. ก่ออาชญากรรมการเข้ารหัสที่น่ากลัวเพื่อให้การทดสอบของคุณผ่าน ( สีเขียว ) ฮาร์ดโค้ดหากจำเป็น
  3. Refactorอาจทำลายการทดสอบในช่วงเวลาสั้น ๆ แต่โดยรวมแล้วปรับปรุงการออกแบบ

3
เมื่อทำ TDD คุณจะมีนักวิ่งทดสอบที่สร้างรายงานแดง / เขียวต่อการทดสอบเพื่อระบุว่าพวกเขาผ่าน

2
@Konstantin: การเขียนรหัสโดยใช้ TDD อาจใช้เวลานานขึ้น 20% แต่มันก็ให้ผลตอบแทนที่ดีกว่าและในระยะยาวเมื่อระบบเติบโตขึ้นความเร็วในการเปลี่ยนแปลงจะยังคงเท่าเดิม TDD ช่วยให้คุณหลีกเลี่ยงหนี้สินทางเทคนิคซึ่งทำให้คุณช้าลง

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

1
หากฝ่ายบริหารไม่เข้าใจแนวคิดหลักคุณควรอธิบายให้พวกเขาเข้าใจ ตัวอย่างเช่นmartinfowler.com/bliki/TechnicalDebt.html

3
@ คอนสแตนตินถ้าคุณคิดว่า "การพัฒนา" จะทำหน้าที่ในการเขียนคำสั่งรหัสฉันจะเห็นด้วยกับคุณ อย่างไรก็ตามหากคุณพิจารณา "การพัฒนา" เพื่อรวมบรรจุภัณฑ์การเตรียมบันทึกย่อการสร้างการปรับใช้การทดสอบการผลิตรายงานข้อบกพร่องการทบทวนและจัดลำดับความสำคัญข้อบกพร่องการมอบหมายงานการสืบสวนการตรวจแก้จุดบกพร่องและการแก้ไข เขียนการทดสอบหน่วยเมื่อเทียบกับจำนวนวันและการสูญเสียความเชื่อมั่นของลูกค้ามากกว่า 1,000 เท่า

22

คุณดาวน์โหลดเอกสารทุกภาษา / ห้องสมุดในประเทศไปยังเครื่องคอมพิวเตอร์ของคุณแล้วถอดสายเคเบิลเครือข่ายของคุณ / ปิดWi-Fi

ไม่พยายามที่จะตลกที่นี่ มันช่วยฉันได้จริงๆ!


ฉันทำเช่นเดียวกัน

การค้นหาเอกสารและการแก้ไขปัญหาออนไลน์เป็นเรื่องที่ต้องคำนึงถึงมากเกินไป

ติดตั้งไฟร์วอลล์และกำหนดค่าให้บล็อกการเข้าถึงเว็บเกือบทั้งหมด (ฉันมีข้อยกเว้นสำหรับบางโดเมนเช่น MSDN)
finnw

ฉันกำลังพิจารณาที่จะทำสิ่งนี้จริงๆ (ความจริงที่ว่าฉันแสดงความคิดเห็นนี้มากพอ)
Ikke

และสูญเสียดังนั้น ไม่มีเลย

20

โปรดสังเกตว่าเมื่อคุณอ่าน Stack Overflow มานานเกินไป ข้ออ้าง "รวบรวม" ใช้งานได้นาน :)


15
ขึ้นอยู่กับว่าคอมไพเลอร์ของคุณเร็วแค่ไหน ดังนั้นบางที "ทางออก" คือการหาคอมไพเลอร์ที่ช้ากว่าและรันบนหน่วยความจำ Pentium 2 w / 128MB? :-)
Franci Penov

@ Franci บางทีแม้แต่การใส่พื้นที่สว็อปลงในฟลอปปี้ดิสก์ หรือสองใน RAID

20

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

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

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


สิ่งนี้จะไม่ทำงานหากคุณมีหัวหน้าที่คาดว่าจะตอบอีเมลภายใน 10 นาที
finnw

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

14

ทำถูกวิธีที่ดีที่สุดเป็นครั้งแรก ถ้านั่นหมายความว่าคุณต้องหยุดและคิดสักครู่ก่อนที่จะเริ่มทำ ทำงาน 90% ของเวลา


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

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

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

“ ถ้าคุณไม่มีเวลาทำถูกต้องคุณจะมีเวลาทำยังไง”
Alex Feinman

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

14

เรียนรู้ที่จะสัมผัสพิมพ์เร็วที่สุดเท่าที่เป็นไปได้


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

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

+1 ลิงก์ที่ยอดเยี่ยมบทความที่ยอดเยี่ยมสำหรับผู้ที่อ่านจนจบ;) ฉันพิมพ์ได้ดี แต่มันเป็นแรงบันดาลใจให้ฉันเปลี่ยนเป็นรูปแบบแป้นพิมพ์โปรแกรมเมอร์ Dvorak en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard (แต่ฉันเปลี่ยน 'และ -_ keys กับ Microsoft Keyboard Layout Creator) และฉันมั่นใจว่าอีกไม่นานฉันจะพิมพ์เร็วขึ้น :) ดูเพิ่มเติม: typematrix.com/dvorak
Roman Boiko

12

ฉันทำมันในวันพรุ่งนี้

การทำสิ่งต่าง ๆ ให้สำเร็จนั้นมีประโยชน์อย่างมากเช่นกัน

ฉันมีความสนใจสั้น ๆ อยู่แล้วดังนั้นหนังสือเหล่านี้ช่วยฉันรักษาตำแหน่งของฉัน ... ฉันกำลังทำอะไรอยู่อีก?


12

ฝึกฝนและทำงานหนัก

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

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


การปฏิบัติมักจะถูกประเมินต่ำเกินไปในการเขียนโปรแกรม นี่น่าจะเป็นหนึ่งใน 5 คำตอบที่ดีที่สุด

ว้าว. ไม่แน่ใจว่าทำไมมันถึงไม่สูงกว่าเช่นกัน ฉันไม่เคยลองสิ่งนี้มาก่อน ฉันจะให้มันยิง!
David

11

เรียนรู้เกี่ยวกับ The Zone เรียนรู้วิธีการเข้าร่วมและเรียนรู้วิธีการจดจำเมื่อคุณไม่ได้อยู่ในโซน

เมื่อฉัน "อยู่ในโซน" ฉันมีประสิทธิผลอย่างมากและรหัสก็ไหลออกมาจากฉันบ่อยครั้งที่ฉันสามารถเขียนโค้ดได้ 2 หรือ 3 วันใน 1 วัน แต่ฉันพบว่าบ่อยครั้งที่มันยากที่จะไปยังสถานที่นั้นฉันพบว่าตัวเองผัดวันประกันพรุ่งโดยสิ่งอื่น ๆ (ตัวอย่างเช่น Stack Overflow)

อ้างจากwhat-tricks-do-you-use-to-get-yourself-in-the-the-zone


และข้ามมื้อกลางวันถ้าคุณอยู่ในโซน ... หรืออยู่ดึก ... MMMmm the Zone drool

10

รู้จัก IDE และกรอบงานของคุณดี ต้องหันไปหา Google สำหรับสิ่งเล็ก ๆ น้อย ๆ ทุกอย่างต้องใช้เวลา


แต่คุณต้องรู้ด้วยเมื่อคุณต้องการใช้ Google และสามารถทำได้อย่างรวดเร็วเป็นสิ่งสำคัญ

9

1
โปรดแก้ไขสิ่งนี้เพื่อให้ฉันสามารถลงคะแนนได้ในขณะนี้มันเก่าเกินไป
kmarsh

1
ขึ้นอยู่กับสิ่งที่คุณจำเป็นต้องใช้อย่างมาก

8

ก่อนที่คุณจะเริ่มพัฒนา:

  • ออกจากระบบกล่องจดหมายของคุณ
  • ปิดการใด ๆIMลูกค้า
  • ขอให้เพื่อนร่วมงานอย่างสุภาพเพื่อให้คุณมีสมาธิ
  • แน่นอนหยุดการท่องอินเทอร์เน็ต

ทุกครั้งที่คุณถูกขัดจังหวะคุณจะช้าลงเพราะต้องใช้เวลาในการติดตามความคิด ฉันได้ยินตัวเลขว่าการหยุดชะงักแต่ละครั้งใช้เวลาประมาณ 5-10 นาทีในการรีเซ็ตกลับไปเป็นกระบวนการคิดที่มีก่อนการหยุดชะงัก ด้วยเวลาที่มากต่อการหยุดชะงักมันไม่ต้องเสียเวลามากมายทั้งวัน

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


7

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


7

คุณช้ากว่าเพื่อนร่วมงานหรือประมาณการของคุณมากเกินไปหรือไม่


7

เพื่อผลิตซอฟต์แวร์ได้เร็วขึ้นฉันได้พบสิ่งที่ดีที่สุดที่ต้องทำคือเรียนรู้ runtime API ของคุณให้ดีที่สุด อย่าพิมพ์ตรรกะรายการเมื่อส่วนขยาย LINQ จะทำ; อย่าสร้างกลุ่มผู้ฟังเหตุการณ์เมื่อการรวมจะทำงาน ฯลฯ

เท่าที่การประเมินนั้นมาพร้อมกับประสบการณ์ คุณสามารถใช้ซอฟต์แวร์การประเมินเพื่อช่วยให้คุณประมาณการได้ดีขึ้น

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

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


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

ฮ่า ๆ - ฉันรู้ว่าคุณกำลังพูดอะไร แต่คุณจะประหลาดใจกับการลื่นนี้โดยไม่มีใครสังเกตเห็นเมื่อเทียบกับการพูดว่า "คูณด้วย 4"

7

สองสิ่งที่อาจบอกเป็นนัย แต่ฉันไม่เห็นคำตอบที่นี่ที่เพิ่มประสิทธิภาพการผลิตคือ:

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

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


7

ความคิดสองประการอยู่ในใจ:

  1. รับความคิดเห็นอื่น ๆ เกี่ยวกับการประเมินของคุณ - มีนักพัฒนาซอฟต์แวร์คนอื่น ๆ ที่คุณสามารถถามบางอย่างเช่น "เฮ้คุณคิดว่าคุณสามารถใช้คุณสมบัตินี้ได้ในช่วงเวลานี้หรือไม่?" แนวคิดที่ว่าข้อมูลของคนอื่นอาจช่วยได้อย่างแม่นยำในบางกรณีเนื่องจากบางคนอาจจดบันทึกสิ่งต่าง ๆ ที่คุณพลาดในการประมาณ

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

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


7
  1. รู้ว่าเทคโนโลยีทั้งภายในและภายนอก
  2. หยุด! คิด! ไป!
  3. สถาปนิกสำหรับสิ่งที่อาจเกิดขึ้น แต่ใช้เฉพาะสิ่งที่ขอจริงๆ
  4. KISS - ทำให้มันงี่เง่า
  5. ถ้ามันซับซ้อนเกินไปอาจเป็นไปไม่ได้ที่จะคิด (กลับไปที่ 2 และ 4)
  6. อย่าติดอยู่ใน 5 มักจ่ายให้เริ่มต้นจากศูนย์ (กลับไปที่ 2 และ 4)
  7. กลับไปที่ 1

7

ฉันคิดว่าพวกเขาคำสำคัญที่นี่คือ "ทันเวลา" พวกเขาไม่ได้บอกว่าคุณช้าเกินไป แต่ไม่ใช่ว่าคุณจะทันเวลา

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

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

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


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

นอกจากนี้ยังจะช่วยให้ผู้จัดการของคุณดูดีต่อคนรอบข้าง - ช่วยให้วัสดุสนับสนุนเช่นการตลาดสามารถทำข้อมูลให้ตรงกับโครงการของคุณ
Tom leys

7

รับที่มั่นคงอยู่ที่มั่นคง

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

เหตุผลก็คือว่าเวลาที่ผมเคยเห็นคนที่มี 2 สัปดาห์ที่ผ่านมาของรหัสที่ไม่เคยได้รับความมั่นคงทุกคนก็มักจะใช้เวลาอีก 2 สัปดาห์ที่จะได้รับมีเสถียรภาพ

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

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

หากคุณมี 10,000 บรรทัดของรหัสที่ไม่เคยทำงานและคุณต้องค้นหาตัวแบ่งคุณมีจำนวนของรหัสเพื่อค้นหา

การเปลี่ยนแปลงเล็ก ๆ น้อย ๆ ที่เพิ่มขึ้นในระบบที่มีเสถียรภาพ FTW อย่างสม่ำเสมอ ไปช้าเพื่อไปอย่างรวดเร็ว


7

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


1
การปั่นจักรยานรอบ 30 นาทีเพื่อทำงานในเขตชนบทของนอร์เวย์นั้นค่อนข้างดีในการล้างใจและทำให้กระบวนการสร้างสรรค์เป็นไปด้วยดี

6

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

แต่ถ้าเราสามารถไปยังสถานะนั้นได้ ฉันหมายถึงหลักคำแนะนำเหล่านี้ทั้งหมดหรือไม่ จะเกิดอะไรขึ้น? ดี. ฉันเดาว่าเส้นเวลาจะลดลงไปอีก และอีกครั้งเราจะกลับไปใช้การรับรู้คุณภาพ ฉันหมายถึงงานฝีมือของเราก้าวหน้าและแน่นอนขึ้นเรื่อย ๆ ในหลายทศวรรษ แต่คุณภาพเพิ่มขึ้นในช่วงเวลานี้ (ไม่รวมช่วงปีแรก ๆ ของหลักสูตร)?

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

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

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

ในที่สุดฉันคิดว่าการประเมินประสิทธิภาพส่วนใหญ่ (ถ้าไม่ทั้งหมด) นั้นบิดเบี้ยวและบิดเบือนอย่างผิดปกติ คุณไม่สามารถควบคุมความเร็วและความเร็วได้ถึง 100% หัวหน้าของคุณควรจะให้คะแนนคุณกับมาตรฐานที่กำหนดโดยองค์กร มาตรฐานขององค์กรในการแลกเปลี่ยนระหว่างคุณภาพและความเร็ว ให้จินตนาการว่า OrangeSoft Inc. คาดหวังคุณภาพ 33% และความเร็ว 66% ดังนั้นหากคุณกำลังเขียนโค้ดที่อาจมีหนึ่งในสามของการทดสอบหน่วย แต่ควรทำด้วยความเร็วและลดเวลาการส่งมอบคุณควรได้คะแนนใกล้ 100% จากการรีวิวของคุณ! (สิ่งเหล่านี้เป็นคำเปรียบเทียบที่ค่อนข้างหยาบ แต่คุณเข้าใจถูก) แต่สิ่งที่เกิดขึ้นก็คือบ๊อบเขียนโค้ดเร็วมาก แต่ก็เป็นรถที่มีชื่อเสียง ดังนั้นในการตรวจสอบประสิทธิภาพของเขาเขาจะได้คะแนน 3/5 สำหรับคุณภาพและ 5/5 สำหรับความเร็ว ในทางตรงกันข้ามแครอลเขียนโค้ดช้ากว่ามาก แต่ก็สร้างบั๊กได้น้อยกว่ามาก เธอทำคะแนนได้ 5/5 สำหรับคุณภาพ แต่ 3/5 สำหรับความเร็ว ไม่ว่าจะด้วยวิธีใดบ๊อบกับแครอลก็ขึ้นแท่น เป็นไปได้หรือไม่ที่พนักงานคนใดจะได้คะแนนเต็ม? ยุติธรรมหรือไม่


5

เทคนิคที่ฉันใช้คือการสร้างต้นแบบเชิงวิวัฒนาการ

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

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