ฉันเป็นนักเขียนโค้ดมืออาชีพมาหลายปีแล้ว ความคิดเห็นเกี่ยวกับรหัสของฉันได้รับโดยทั่วไปเดียวกัน: เขียนรหัสดีดีผ่านการทดสอบ แต่อาจจะเร็วขึ้น
ดังนั้นฉันจะกลายเป็น coder ที่เร็วขึ้นโดยไม่ต้องเสียสละคุณภาพได้อย่างไร เพื่อประโยชน์ของคำถามนี้ฉันจะ จำกัด ขอบเขตไว้ที่ C # เนื่องจากนั่นคือสิ่งที่ฉันเขียนโค้ด (เพื่อความสนุกสนาน) - หรือ Java ซึ่งคล้ายกันมากพอในหลาย ๆ เรื่อง
สิ่งที่ฉันทำอยู่แล้ว:
- เขียนวิธีแก้ปัญหาขั้นต่ำที่จะทำให้งานเสร็จ
- เขียนบททดสอบอัตโนมัติ (ป้องกันการถดถอย)
- เขียน (และใช้) ไลบรารีที่ใช้ซ้ำได้สำหรับทุกสิ่ง
- ใช้เทคโนโลยีที่รู้จักกันดีซึ่งทำงานได้ดี (เช่นไฮเบอร์เนต)
- ใช้รูปแบบการออกแบบที่เข้าที่ (เช่น Singleton)
ทั้งหมดนี้ยอดเยี่ยม แต่ฉันไม่รู้สึกว่าความเร็วของฉันเพิ่มขึ้นเมื่อเวลาผ่านไป ฉันทำดูแลเพราะถ้าผมสามารถทำบางสิ่งบางอย่างเพื่อเพิ่มผลผลิตของฉัน (แม้โดย 10%) ที่ 10% เร็วกว่าคู่แข่งของฉัน (ไม่ใช่ว่าฉันมี)
นอกจากนี้ฉันได้รับเงินคืนจากผู้จัดการของฉันอย่างสม่ำเสมอไม่ว่าจะเป็นการพัฒนา Flash ขนาดเล็กหรือการพัฒนา Java / C ++ ขององค์กร
แก้ไข:ดูเหมือนจะมีคำถามมากมายเกี่ยวกับสิ่งที่ฉันหมายถึงอย่างรวดเร็วและฉันรู้ว่าฉันช้า ให้ฉันอธิบายด้วยรายละเอียดเพิ่มเติม
ฉันทำงานในทีมขนาดเล็กและขนาดกลาง (5-50 คน) ใน บริษัท ต่าง ๆ ในโครงการต่าง ๆ และเทคโนโลยีต่าง ๆ (แฟลช, ASP.NET, Java, C ++) ข้อสังเกตของผู้จัดการของฉัน (ซึ่งพวกเขาบอกฉันโดยตรง) คือฉัน "ช้า"
ส่วนหนึ่งเป็นเพราะเพื่อนของฉันจำนวนมากเสียสละคุณภาพเพื่อความเร็ว พวกเขาเขียนโค้ดที่อ่านง่ายอ่านยากบำรุงรักษายากและเขียนแบบทดสอบอัตโนมัติได้ยาก โดยทั่วไปรหัสของฉันมีเอกสารที่ดีอ่านง่ายและสามารถทดสอบได้
ที่ Oracle ฉันจะแก้ไขข้อบกพร่องได้ช้ากว่าสมาชิกในทีมคนอื่น ๆ ฉันรู้สิ่งนี้เพราะฉันจะได้รับความเห็นเกี่ยวกับผลกระทบนั้น นี่หมายความว่านักพัฒนาอื่น ๆ (ใช่มีอาวุโสและมีประสบการณ์มากขึ้น) สามารถทำงานของฉันได้ในเวลาน้อยกว่าที่ฉันใช้ซึ่งมีคุณภาพใกล้เคียงกัน (ความสามารถในการอ่านการบำรุงรักษาและการทดสอบ)
ทำไม? ฉันพลาดอะไรไป ฉันจะทำให้ดีขึ้นได้อย่างไร
เป้าหมายสุดท้ายของฉันคือง่าย: ถ้าฉันสามารถสร้างผลิตภัณฑ์ X ใน 40 ชั่วโมงวันนี้และฉันสามารถปรับปรุงตัวเองอย่างใดเพื่อให้ฉันสามารถสร้างผลิตภัณฑ์เดียวกันที่ 20, 30 หรือ 38 ชั่วโมงในวันพรุ่งนี้นั่นคือสิ่งที่ฉันอยากรู้ - ฉันจะไปที่นั่นได้อย่างไร? ฉันสามารถใช้กระบวนการใดในการปรับปรุงอย่างต่อเนื่อง ฉันคิดว่ามันเกี่ยวกับการใช้รหัสซ้ำ แต่ดูเหมือนไม่เพียงพอ