1. การเขียนบทเรียน ไม่ได้จริงๆ
การเขียนซอร์สโค้ดนั้นแตกต่างจากการเขียนหนังสือมากพอ
ในขณะที่ทั้งคู่ตั้งเป้าหมายเดียวกัน: มีความคลุมเครือเท่าที่จะเป็นไปได้และเข้าใจง่ายพวกเขากำลังทำในลักษณะที่แตกต่างกันมากและสิ่งที่ผู้เขียนควรเรียนรู้นั้นไม่เหมือนกับสิ่งที่ผู้พัฒนาซอฟต์แวร์ควรเรียนรู้
ตัวอย่างที่ 1: ตัวเลขการพูด
ตัวเลขของการพูดมีค่าเมื่อเขียนนวนิยายกวีนิพนธ์ ฯลฯ เนื่องจากเป็นการเพิ่มความหมายของการเขียน
ครั้งสุดท้ายที่คุณเห็นoxymoron หรือ litotes ในซอร์สโค้ดคืออะไร? มันจะช่วยให้พวกเขามีหรือจะเป็นอันตรายอย่างยิ่งสำหรับนักพัฒนาที่จะต้องรักษาซอร์สโค้ดดังกล่าวในภายหลังหรือไม่
ตัวอย่างที่ 2: คำศัพท์
คำศัพท์ที่อุดมไปด้วยชื่นชมในวรรณกรรม ยกตัวอย่างเช่นคำศัพท์ของ William Shakespeare มีคำศัพท์สองหมื่นถึงสองหมื่นห้าพันคำ คำศัพท์ที่สมบูรณ์ยิ่งขึ้นทำให้การอ่านนวนิยายหรือบทกวีน่าสนใจยิ่งขึ้น
เมื่อคุณเขียนซอร์สโค้ดคุณคาดหวังให้คนที่พูดภาษาอังกฤษไม่เก่งอ่าน แสดงว่าคุณรู้ภาษาอังกฤษได้ดีเพียงใดสำหรับรหัสของคุณ หากคุณรู้จักคำที่สวยงามซึ่งหมายถึงสิ่งที่คุณต้องการ แต่คุณรู้ว่าผู้คนจำนวนมากไม่รู้ความหมายของคำนี้คุณควรหาคำที่มีความหมายน้อยกว่าหรือชุดของคำที่อธิบายความหมาย คำศัพท์ของคำไม่กี่พันคำมักจะเพียงพอสำหรับโครงการที่กำหนด
โปรดทราบสิ่งสำคัญ: แม้ว่า Google Translate อาจเป็นประโยชน์อย่างมากสำหรับผู้ที่ไม่ใช่เจ้าของภาษา แต่มีปัญหาสองประการสำหรับนักแปล:
คู่ของภาษาไม่จำเป็นต้องมีการจับคู่ระหว่าง 1: 1 คำบางคำอาจไม่มีการแปลในภาษาอื่นใดหรือหลายคำสามารถแปลเป็นคำเดียวในภาษาต่างประเทศ ตัวอย่างเช่นในรัสเซียมีคำจำนวนมากที่กำหนดเป้าหมายเฉพาะสถานะของหิมะและอากาศหนาวเย็นและการแปลเป็นภาษาฝรั่งเศสหรือสเปนมักเป็นไปไม่ได้โดยไม่สูญเสียความจำเพาะ
บางครั้งคำมีความหมายหลายอย่างและความหมายนั้นอนุมานจากบริบท Google Translate แม้จะมีคุณภาพสูง แต่มักจะไม่สามารถระบุความหมายได้ แต่สถานการณ์พื้นฐานที่สุด
ตัวอย่างที่ 3: การแสดงออก
การแสดงออกทำให้ร้อยแก้วยิ่งขึ้นเช่นกัน ผู้เขียนคาดหวังให้ผู้อ่านมีวัฒนธรรมทั่วไปในปริมาณที่กำหนดและใช้โอกาสนี้เพื่อทำให้ข้อความมีความหมายมากขึ้น
ในทำนองเดียวกันกับตัวอย่างก่อนหน้านิพจน์ดังกล่าวอาจเป็นปัญหาได้มากเมื่อผู้อ่านที่ไม่ใช่เจ้าของภาษาอ่าน แต่ถ้าคำศัพท์ทั่วไปสามารถแปลได้การแสดงออกก็เป็นปัญหามากกว่า
ตัวอย่างเช่นภาษาอังกฤษไม่ใช่ภาษาแรกของฉันและในชีวิตประจำวันฉันพบกับการแสดงออกรวมถึงที่นี่ใน StackExchange ซึ่งฉันไม่รู้ ฉันพยายามเดาความหมายและบางครั้งฉันก็พูดถูก แต่บางครั้งฉันผิดและ Googling การแสดงออกเหล่านั้นไม่ได้ช่วย
ผู้ใช้ในตัวเธอ / เขาแสดงความคิดเห็นทำให้ผมนึกถึงตัวอย่างซึ่งทำให้ผมต้องทนทุกข์ทรมานมาเป็นเวลานานเมื่อฉันเพิ่งเริ่มต้นการเขียนโปรแกรมที่ใช้งาน: ของ PHP เข็มและกองหญ้า ฉันไม่รู้รูปการพูดที่สอดคล้องกันดังนั้นทุกครั้งที่ฉันอ่านเอกสารฉันก็สงสัยว่ามันเกี่ยวข้องกับอะไร ไม่จำเป็นต้องพูดว่า C # sequence.Contains(element)
หรือ Python ที่ยอดเยี่ยมelement in sequence
เป็นทางเลือกที่ดีกว่ามาก อย่างน้อยนักพัฒนาที่ไม่รู้ภาษาฮีบรูก็ต้องทนกับ PHP เช่นกันแต่นี่เป็นเรื่องราวที่แตกต่าง
ตัวอย่างที่ 4: การอ้างอิงทางวัฒนธรรม
การอ้างอิงทางวัฒนธรรม ในวรรณคดีมันเป็นการดึงดูดที่จะรวมองค์ประกอบจากวัฒนธรรมที่กำหนดและสิ่งนี้ก็ทำให้หนังสือยิ่งขึ้นและบางครั้งน่าสนใจมากขึ้นที่จะอ่าน
อย่างไรก็ตามรหัสจะถูกส่งไปยังนักพัฒนาจากทั่วทุกมุมโลก ดังนั้นการอ้างอิงที่ชัดเจนสำหรับนักพัฒนาชาวอิตาลีอาจไม่ชัดเจนสำหรับชาวรัสเซียและสิ่งที่เด็กชายหรือเด็กหญิงชาวอินเดียทุกคนรู้อาจไม่จำเป็นต้องรู้จักโดยโปรแกรมเมอร์ชาวอเมริกัน
ผู้ใช้คนเดียวกันที่พูดถึงเข็มและกองหญ้าเป็นตัวอย่างที่ยอดเยี่ยมของการอ้างอิงทางวัฒนธรรมเช่นกัน: Grail ใครไม่รู้ว่า Grail คืออะไร ฉันหมายถึงมันคือ "Graal" ในภาษาฝรั่งเศส "Grial" ในภาษาสเปนและ ... "Kutsal Kâse" ในภาษาตุรกี แต่ยังคงอยู่ อย่างไรก็ตามนักพัฒนาชาวอเมริกันหรือชาวยุโรปรู้ประวัติศาสตร์ในยุคกลางของจีนหรืออินเดียมากน้อยเพียงใด ทำไมทุกคนถึงคิดว่านักเขียนโปรแกรมชาวจีนและอินเดียทุกคนต้องรู้จักการอ้างอิงจากจอกศักดิ์สิทธิ์
2. บทเรียนในการเขียนซอร์สโค้ดที่แสดงออก? แน่ใจ
นักพัฒนาใด ๆ ควรเรียนรู้วิธีการเขียนซอร์สโค้ดที่แสดงออก
นักพัฒนาใด ๆ ควรอธิบายว่าทำไมความคิดเห็นใน:
int j = i + 1; // Creating i and adding 1 to it.
ไม่ดีแม้แต่ความจริงที่ว่ามันผิดทั้งหมด
นักพัฒนาซอฟต์แวร์ใด ๆ ควรเข้าใจการทำโครงสร้างพื้นฐานใหม่และช่วยให้ซอร์สโค้ดมีความชัดเจนมากขึ้นได้อย่างไร
นักพัฒนาใด ๆ ควรจำไว้ว่า 20% ของเวลานั้นใช้รหัสในการพัฒนาและ 80% ของเวลานั้นคงไว้ สำหรับบางโครงการมันเหมือน 5% - 95%
เป็นต้น
ในสาระสำคัญการเขียนโปรแกรมอยู่ใกล้กับเอกสารทางเทคนิค บุคคลที่เขียนแผ่นข้อมูลจำเพาะสำหรับโบลต์จำเป็นต้องเรียนการเขียนหรือไม่? ไม่ได้จริงๆ เช่นเดียวกับนักพัฒนา ทุกคนควรเขียนโดยไม่สะกดผิดทุกคำและทุกคนควรสามารถสื่อสารความคิดของเธอได้อย่างชัดเจนเพียงพอ นอกเหนือจากนั้นฉันไม่แน่ใจว่าการเขียนบทเรียนจะมีประโยชน์มากขึ้นกว่านี้ได้อย่างไรเช่นหลักสูตรวิทยาศาสตร์คอมพิวเตอร์หรือความปลอดภัยด้านไอทีหรืออะไรก็ตาม
ความหมายของซอร์สโค้ดสามารถเรียนรู้ได้ด้วยวิธีอื่น superM พูดถึงหนึ่งในนั้นในคำตอบของเขา : อ่านรหัสที่ดี ฉันสามารถพูดถึงคนอื่นไม่กี่:
การอ่านหนังสือเช่นรหัสที่สวยงามหรือรหัสที่สมบูรณ์
การขอให้นักพัฒนาซอฟต์แวร์ที่มีประสบการณ์มากขึ้นเพื่อตรวจสอบรหัสของคุณ
ทำความเข้าใจกับรูปแบบและวิธีการและเวลาที่จะใช้