หากต้องการนำไปใช้อีกทางหนึ่ง ... อะไรคือความเข้าใจผิดที่เกิดขึ้นบ่อยที่สุดและน่าผิดหวังเกี่ยวกับการเขียนโปรแกรม
ท่านใดที่ตำนานอย่างกว้างขวางและยาวนาน / ความเข้าใจผิดหายากสำหรับโปรแกรมเมอร์ที่จะปัดเป่า / ที่ถูกต้อง
กรุณาอธิบายว่าทำไมนี่เป็นตำนาน
หากต้องการนำไปใช้อีกทางหนึ่ง ... อะไรคือความเข้าใจผิดที่เกิดขึ้นบ่อยที่สุดและน่าผิดหวังเกี่ยวกับการเขียนโปรแกรม
ท่านใดที่ตำนานอย่างกว้างขวางและยาวนาน / ความเข้าใจผิดหายากสำหรับโปรแกรมเมอร์ที่จะปัดเป่า / ที่ถูกต้อง
กรุณาอธิบายว่าทำไมนี่เป็นตำนาน
คำตอบ:
นั่นเป็นเพราะคุณเป็นโปรแกรมเมอร์คุณรู้วิธีแก้ไขเครื่องกำจัดไวรัสของ [person]
ทรัพยากรบุคคลทั่วไปที่ผลักดันฉันถั่วเมื่อฉันกำลังหางาน: ข้อสันนิษฐานโดยนัยว่าทักษะการเขียนโค้ดทั้งหมดเป็นภาษาเฉพาะไม่มีความเชี่ยวชาญด้านวิศวกรรมซอฟต์แวร์ที่ก้าวข้ามชุดคำสั่ง ประสบการณ์สิบปีใน Java และอีกห้าใน Perl หมายความว่าคุณไม่มีประโยชน์อย่างสมบูรณ์ในโครงการที่ใช้พูด C #
“ ใช่มีช่วงการเรียนรู้ แต่ฉันเปลี่ยนช่วงยากขึ้นกว่านี้ฉันจะทำให้คุณเป็นข้อตกลงจ่ายให้ฉัน 80% สำหรับเดือนแรกและในตอนท้ายของช่วงเวลานั้นถ้าฉันไม่ใช่ ... โอ้ รอสักครู่เราไม่ได้คุยกันเพราะลิง HR ของคุณลบแอปพลิเคชันของฉันไป "
หากคุณไม่พิมพ์คุณจะไม่ทำงาน
ฉันเชื่อว่าซอมบี้จ้องมองและการเดินเล่นกาแฟเป็นสิ่งจำเป็นสำหรับโปรแกรมเมอร์ที่จัดระเบียบสิ่งต่าง ๆ ในหัวของพวกเขา
ที่คุณสามารถเร่งโครงการล่าช้าโดยเพียงแค่โยนคนอื่น ๆ
ซอฟต์แวร์การเขียนนั้นง่าย
คุณอธิบายโครงการเหล่านี้ทั้งหมดที่ใช้เวลาเกินงบประมาณและผู้คน (นักการเมืองสื่อ ฯลฯ ) ยังคงแปลกใจและลูกค้าบ่นเมื่อคุณบอกพวกเขาว่า "เว็บไซต์ขนาดเล็ก" ของพวกเขา (หรืออะไรก็ตาม) จะใช้เวลา 6 เดือนในการพัฒนาและค่าใช้จ่ายหลายพันดอลลาร์ (ปอนด์, ยูโร, [ใส่สกุลเงินของทางเลือก])
ด้วยความต้องการที่คลุมเครือและเปลี่ยนแปลงอยู่ตลอดเวลาบางครั้งฉันคิดว่ามันวิเศษมากที่ซอฟต์แวร์ใด ๆ ได้เสร็จสิ้นลง!
ฉันรู้ว่ามันซับซ้อนกว่านั้นเล็กน้อย;)
ความซับซ้อนของแอพนั้นแปรผันตรงกับความซับซ้อนของ UI ด้วยเหตุผลนี้คุณควรสร้าง Google หรือ Twitter ในช่วงสุดสัปดาห์
โปรแกรมเมอร์ทุกคนเก่งคณิตศาสตร์ :-)
เด็กวัยรุ่นทุกคนที่แฮ็คกับคอมพิวเตอร์มีความสามารถเทียบเท่า (หรือดีกว่า) ในการทำงานกับโปรแกรมเมอร์ที่มีประสบการณ์
หลานชายอายุ 14 ปีของฉันใช้คอมพิวเตอร์ได้ดีและฉันจ่ายเงินให้เขา $ 10 / ชม. เพื่อตัดหญ้า ทำไมฉันต้องจ่ายตัวเลขหกตัวให้คุณเขียน FaceBook ครั้งต่อไป
ที่เวลาจริงหมายถึงการได้อย่างรวดเร็ว
ระบุ"แพ็คเก็ตจะต้องดำเนินการในเวลาจริง" ไร้ค่าและความชั่วร้าย ... ตอบว่า "X ต้องเกิดขึ้นเร็วแค่ไหน?" ด้วย"เรียลไทม์"อาจน้อยกว่าไร้ค่า ... ติดกับโง่มากกว่าไม่รู้
เรียลไทม์หมายความว่าเพียงแค่ใส่ฟังก์ชั่น Y ที่จะใช้เวลาจำนวน X และการเบี่ยงเบนใด ๆ ที่บ่งบอกถึงข้อผิดพลาดร้ายแรง ระยะเวลาของ X ไม่ได้กำหนด "แบบเรียลไทม์" ซึ่งอาจเป็นหกไมโครวินาทีหรือหกวัน ที่คุณสามารถกำหนดฟังก์ชั่น Y จะใช้เวลา X กำหนด "เรียลไทม์" ระบบตามเวลาจริงถูกกำหนดโดยคำจำกัดความนี้
ดังนั้นเคาะมันออกไป ..
ทำไมพวกคุณไม่เขียนแค่ครั้งแรกแทนที่จะใช้เวลามากในการพิมพ์รหัส buggy จากนั้นอ่านรหัสในภายหลังเพื่อค้นหาข้อบกพร่อง?
:-) :-) :-) :-)
หากคุณไม่ได้ไปมหาวิทยาลัยคุณไม่เหมาะกับงาน
การเพิ่มประสิทธิภาพก่อนวัยอันควรหมายความว่าคุณไม่ควรปรับให้เหมาะสมเลย ฉันเห็นฐานข้อมูลไม่ดีอย่างน่ากลัวเพราะไม่มีใครต้องการพิจารณาประสิทธิภาพ (สำคัญต่อระบบฐานข้อมูลใด ๆ ) ในการออกแบบเนื่องจากเป็นการปรับให้เหมาะสมก่อนเวลามากกว่าปัญหาการออกแบบฐานข้อมูลอื่น ๆ ขยะมีนักฆ่าประสิทธิภาพที่รู้จักหยุดใช้มันเป็นตัวเลือกแรกของคุณ
อีกเรื่องที่ยากเกินกว่าจะสร้างฐานข้อมูลใหม่ได้ ไม่ แต่คุณต้องพิจารณาว่าจะทำการ refactoring ในขั้นตอนการออกแบบอย่างไรเพื่อให้มีประสิทธิภาพ และ BTW ยิ่งคุณรอการแก้ไขปัญหาประสิทธิภาพการออกแบบที่น่ารำคาญยิ่งนานเท่าไหร่การแก้ไขก็ยากขึ้นเท่านั้น
ตำนานที่ไม่ดีอีกประการการออกแบบฐานข้อมูลควรสะท้อนถึงหลักการของ OOP ไม่ฐานข้อมูลถูกออกแบบมาเพื่อทำงานกับชุดไม่ใช่หลักการของ OOP บางสิ่ง OOP จะทำให้เกิดปัญหาประสิทธิภาพการทำงานที่น่ากลัวและอื่น ๆ เป็นเพียงความเจ็บปวดในแง่ของฐานข้อมูล
สุดท้ายคุณควรบังคับใช้ความถูกต้องของข้อมูลในแอปพลิเคชัน ฐานข้อมูลกำลังจะผ่านแอปพลิเคชั่นล่าสุดและจะสูญเสียกฎเมื่อมีการแทนที่แอปพลิเคชันแอปพลิเคชันที่ไม่สามารถเข้าถึงได้จำนวนมากและมักจะต้องเรียกใช้แบบสอบถามโดยตรงเพื่อแก้ไขสิ่งที่ไม่ผ่านแอปพลิเคชัน ฉันไม่เคยเห็นฐานข้อมูลที่ปฏิเสธที่จะบังคับใช้ความถูกต้องของข้อมูลในฐานข้อมูลที่มีข้อมูลที่ดี
ว่ามีบางแหล่งที่มาในตำนานของการปฏิบัติที่ดีที่สุดแน่นอน
ไม่มีการเบี่ยงเบนใด ๆ ที่สามารถพิสูจน์ได้
ไม่มีเอกสารที่อ้างว่ากำหนดสิ่งที่เป็นแนวปฏิบัติที่ดีที่สุดที่จะถูกตั้งคำถาม
ความจริงที่ว่าการตลาดดูเหมือนจะคิดว่าการเพิ่มฟีเจอร์เล็ก ๆ น้อย ๆ นั้นทำได้น้อยกว่าการเพิ่มฟีเจอร์เดียว แต่ค่อนข้างหนัก ซึ่งอาจเป็นกรณีที่เฉพาะเจาะจงมากขึ้นของความเข้าใจผิดว่า "การสลับงานไม่มีค่าใช้จ่าย"
รหัสความคิดเห็นนั้นไม่จำเป็นหรือว่า "รหัสที่ดีไม่ต้องการความคิดเห็น" บางครั้งคุณต้องอธิบายว่าโค้ดที่ซับซ้อนกำลังทำอะไรอยู่ นอกจากนี้การแสดงความคิดเห็นในส่วนของรหัสช่วยให้คุณอ่านได้อย่างมีประสิทธิภาพมากขึ้น
if user.is_logged_in: print('Welcome')
ไม่ต้องการความคิดเห็น
ตำนานที่แย่ที่สุด: หากคุณกำลังเขียนโปรแกรมเป็นเวลานานคุณสามารถเป็นผู้จัดการโครงการได้อย่างง่ายดาย
และคุณควรเป็นผู้จัดการโครงการหากคุณเขียนโปรแกรมมาเป็นเวลานาน
หากเราใช้อย่างอื่นที่ไม่ใช่ Java, C # และ C ++ ในโครงการของเราเราจะไม่พบโปรแกรมเมอร์ที่จะสนับสนุนมัน
Java เป็นเพียง C ++ ที่มีคลาสที่แตกต่างกัน
อาจเป็นสิ่งที่อันตรายที่สุดที่ฉันเคยเห็นเพราะมันได้รับการยอมรับอย่างรวดเร็วนั่นก็คือการเขียนโค้ดได้อย่างรวดเร็วนั้นดีมากดังนั้นยิ่งคุณสามารถเขียนโค้ด [ใส่คุณลักษณะที่นี่] ในภาษาที่กำหนดได้เร็วเท่าไหร่ภาษาที่ดีกว่า คือ.
นี่เป็นตัวอย่างที่สำคัญของการเพิ่มประสิทธิภาพก่อนเวลาอันควรเนื่องจากการทำงานมากขึ้นไปที่การบำรุงรักษาโค้ดมากกว่าการสร้างมัน ซึ่งหมายความว่าการเขียนโค้ดที่อ่านเข้าใจและดีบักได้ง่ายกว่าโค้ดที่เขียนได้เร็วและการอำนวยความสะดวกในการอ่านรหัสคือการวัดคุณภาพภาษาที่มีประโยชน์มากกว่า
บทเรียนการผลิตสามารถนำไปใช้กับกระบวนการพัฒนาซอฟต์แวร์
ในฐานะโปรแกรมเมอร์คุณรู้ทุกอย่างเกี่ยวกับแนวโน้มของฮาร์ดแวร์การโอเวอร์คล็อกการปรับเปลี่ยนเคสและอื่น ๆ เพื่อน ๆ และญาติ ๆ จะปรึกษาคุณเมื่อพวกเขาซื้ออุปกรณ์
เมื่อโปรแกรมเมอร์บอกว่ามันยากมากที่จะทำ / เป็นไปไม่ได้ง่าย ๆ ฝ่ายทรัพยากรบุคคลคิดว่าพวกเขาขี้เกียจและไม่ได้รับการเอาใจใส่
ต้องมีโปรแกรมโอเพ่นซอร์สสำหรับธุรกิจของฉัน คุณไม่สามารถดาวน์โหลดและปรับแต่งตามความต้องการของฉัน
ฉันมีมากกว่าหนึ่งคนถามฉันเกี่ยวกับสิ่งที่มันเป็นเหมือนการเขียนโปรแกรมเพียงเพื่อให้ตระหนักถึงตรงกลางผ่านการสนทนาที่พวกเขาคิดว่าเราเขียนโปรแกรมโดยตรงในไบนารีหรือใช้สัญลักษณ์ทางคณิตศาสตร์
ฉันไม่รู้ว่าฉันต้องการปัดเป่าตำนานนั้นหรือไม่มันทำให้ฉันดูฉลาดจริงๆ!
ฉันคิดว่าความเข้าใจผิดที่ใหญ่ที่สุดคือการสามารถเขียนรหัสได้ง่ายกว่าการอ่านและทำความเข้าใจรหัส
การเขียนโปรแกรมเหมือนกับงานสายการประกอบ คุณกำลังทำงานกับผลิตภัณฑ์ในช่วงเวลาหนึ่ง (อาจเป็นกับเพื่อนร่วมงาน) และในที่สุดคุณก็จัดส่ง เช่นเดียวกับการสร้างบ้านอิฐ
การเขียนโปรแกรมประกอบด้วยความคิดสร้างสรรค์และการวางแผนมากมาย มันเป็นศิลปะ โปรแกรมเมอร์ก็รู้ถึงความแตกต่างระหว่างการสร้างอิฐกับการวางแผนมหาวิหารทั้งหมด
การย้ายโปรแกรมไปยัง C ++ จะทำให้โปรแกรมทำงานเร็วขึ้นโดยอัตโนมัติ
สภาพแวดล้อมการเขียนโปรแกรมใด ๆ กับนักออกแบบภาพบางประเภทจะทำให้มันเพื่อให้ผู้ใช้ทางธุรกิจสามารถ "เขียน" โปรแกรมและโปรแกรมเมอร์จริงไม่จำเป็น
OOP ใช้ซ้ำ เป็นความผิดพลาดที่ใหญ่ที่สุดในตลาดในการเขียนโปรแกรม