หลายครั้งที่เรามักจะได้ยินคำถามว่างานเขียนโค้ดหรืองานเทคนิคจะสามารถทำไปได้จนถึงอายุเท่าไหร่ เพราะพออายุมากขึ้นหรือมีตำแหน่งที่สูงขึ้น คนส่วนใหญ่ก็มักจะไม่ได้ลงมือเขียนโค้ดหรือทำงานเทคนิคเองแล้ว ในงาน Open Source Summit 2020 ทาง Linus Torvalds ได้ให้สัมภาษณ์ว่าทุกวันนี้ตัวเขาเองไม่ได้ทำงานเขียนโค้ดเป็นหลักแล้ว ส่วนใหญ่เน้นอ่านและตอบอีเมลมากกว่า อาจจะมีบ้างที่เขียน pseudo code ตอบกลับไปหรือแนะนำนักพัฒนาว่าโค้ดแบบไหนที่ควรเขียน
ในคอมเมนต์ของข่าวต้นทางก็มีคนมาช่วยอธิบายเพิ่มเติมว่า งานของโปรแกรมเมอร์ในระดับที่สูงขึ้นมักเป็นการตัดสินใจเลือกว่าอะไรควรทำหรือไม่ควรทำ เน้นดูภาพรวมและทิศทางการทำงานเป็นหลักมากกว่าลงมือทำเอง ซึ่งโปรแกรมเมอร์หลายคนอาจไม่ชอบที่ต้องเป็นแบบนี้ แต่ก็ต้องยอมรับในสิ่งที่มันเป็นไป เพราะไม่ใช่ว่าแก่เกินไปที่จะเขียนโค้ด แต่เพราะความอาวุโสของตำแหน่งงานจึงทำให้ใช้เวลากับการเขียนโค้ดได้น้อยลง
นอกจากเรื่องทักษะด้านเทคนิคแล้วทักษะการสื่อสารก็เป็นสิ่งสำคัญ โดย Linus กล่าวว่าการเขียนอธิบายว่าโค้ดนั้นทำงานยังไงก็สำคัญพอๆ กับการเขียนโค้ดให้ดี รวมทั้งหากต้องการที่จะเสนอโค้ดเพื่อเปลี่ยนกระบวนการทำงานของโปรแกรมก็ควรต้องอธิบายให้คนที่รับผิดชอบการตัดสินใจนั้นเข้าใจว่าทำไมถึงต้องเปลี่ยนมาใช้โค้ดใหม่หรือวิธีใหม่ที่เสนอมา เพื่อให้เขาเข้าใจและเชื่อใจในตัวโค้ดนั้น
ที่มา - Slashdot
ภาพของ Linus Torvalds ในงาน Open Source Summit 2018 จาก Linux Foundation
Comments
เค้าเคยตอบแบบนี้ไปแล้วนี่ครับ เหมือนรอบนี้ก็พูดเรื่องเดิมอีกรอบ
https://www.blognone.com/node/112900
ครูมักบอก ให้คอมเม้นท์ ทุกบรรทัด
เพราะหากตัองย้อนมาอ่าน อาจจะไม่ได้
ว่ามันคืออะไร ทำไมเขียนไปแบบนี้
เขียนคอมเมนท์เสร็จ แล้วก็มาแก้ แล้วก็ลืมแก้คอมเมนท์
จากนั้นอีกพักใหญ่กลับมาอ่าน อ้าว ตกลงโค๊ดหรือคอมเมนท์กันแน่ที่ถูก
ปล. ถ้านร.ผมเขียนคอมเมนท์ทุกบรรทัด ผมจะตั้งข้อสงสัยก่อนเลยว่า เขียนโค๊ดให้อ่านได้ไม่ได้เหรอ ?
จริงครับ
ส่วนตัวผมว่า ถ้าจะทำ comment ทำแค่ระดับ function ก็พอ
อย่างน้อยรุ้ว่า function นี้มีหน้าที่ทำอะไร input อะไร output อะไร
ที่เหลือ ถ้าแบ่งส่วน code ดีๆ ไม่อัดทุกอย่างใน function เดียวน่าจะอ่านเข้าใจได้ไม่ยาก
ของโครงการ Linux ก็ประมาณที่คุณเขียนครับ Guideline แนะนำให้แบ่ง code ดีๆ แล้วเขียนอธิบายบนหัว function เอา โดยหลีกเลี่ยงการ comment ภายในตัว function
source: Linux Coding Style
Comment ระดับฟังก์ชันก็เพียงพอแล้วครับ แต่ที่ควรทำคือเขียนให้ 1 ฟังก์ชันทำงานแค่อย่างเดียว ซึ่งมันจะทดสอบง่าย ว่าฟังก์ชันทำงานตรงตาม Comment มั้ย?
มีภาษา Assembly ที่จะ comment เกือบทุกบรรทัด (จะได้เข้าใจว่าโค้ดหมายถึงอะไร แต่ก็ยังไม่ได้ทำทุกบรรทัดอยู่ดีครับ)
เอาจริง ๆ ผมมองว่า comment เป็น code smell นะครับ 555
นั่นคือบาปเลยนะน่ะ ถ้า code ต้อง comment แสดงว่ามี code smell เช่น code ดูอ่านยากเข้าใจยากเกินไป
ควรแตกเป็น function แล้วใช้ชื่อ function บอกว่ากำลังทำอะไรแทน แล้ว comment เมื่อจำเป็น
อย่าหาทำ
น่าจะเกริ่นสักนิดว่า Linus Torvalds เขาคือใคร?
เผื่อคนไม่รู้จัก หรือจำไม่ได้มาอ่าน
"ผู้แจกนิ้วกลางในตำนาน"
oops!!!
สำหรับเว็บนี้ Linus Torvalds คงไม่ต้องบอกว่าคือใครหรอกครับ
เอาชื่อไปค้นอีกทีก็ได้มั้งครับ ถ้าอยากรู้
Linus บิดาแห่งLinux
ที่เหลือก็ค้นเพิ่ม
ถูกต้อง ผมเองก็ไม่รู้ แต่เห็นแกหลายข่าว วันนี้เลยไปค้นดู ถึงได้รู้ 555+