กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see


ข่าว Linus Torvalds แก้โค้ดเคอร์เนล จงใจเปลี่ยนเว้นวรรค Space มาเป็น Tab

News

Staff Member
VIP Member
Registered
สงครามศาสนาที่คงอยู่มายาวนานของวงการโปรแกรมเมอร์คือ การย่อหน้าด้วย space vs tab ซึ่งก็คงยังไม่มีข้อยุติในเร็ววัน

เรื่องนี้เป็นประเด็นขึ้นมาอีกครั้ง เมื่อเว็บไซต์ The Register ไปค้นพบว่า Linus Torvalds ไปแก้โค้ดในเคอร์เนลลินุกซ์ ซึ่งในแพตช์นี้มีการแก้ไขเพียงอย่างเดียวคือเปลี่ยนอักขระ space มาเป็น tab

อย่างไรก็ตาม Linus ไม่ได้เลือกข้างในสงครามศาสนานี้แต่อย่างใด เพราะเหตุผลของเขาคือไฟล์ที่เขาแก้ไขคือ Kconfig ซึ่งเป็นไฟล์คอนฟิกค่าต่างๆ ของเคอร์เนล (ลักษณะเดียวกับ YAML ในปัจจุบัน) และมี parser รุ่นเก่าๆ บางตัวที่ยังเขียนมาได้ไม่ดีพอ ทำให้อ่านค่า space/tab ผิดพลาด

จุดที่น่าสนใจคือ สิ่งที่ Linus ทำไม่ได้แก้ให้ไฟล์ Kconfig อ่านค่าได้ง่ายขึ้น แต่เขา "จงใจ" ทำให้ไฟล์ซับซ้อนขึ้นแทน โดยเปลี่ยน space ธรรมดาให้เป็น tab ความกว้าง 8 ตัวอักษร เพื่อบีบให้ parser บางตัวทำงานพลาด คนเขียน parser จะได้กลับมาแก้ไขโค้ด parser ของตัวเอง

Linus ให้คำอธิบายการแก้ไขไว้ดังนี้

Let's make sure it gets fixed. Because if you can't parse tabs as whitespace, you should not be parsing the kernel Kconfig files.

ที่มา - The Register, ภาพจาก Reddit r/programming

No Description


Topics:
Linus Torvalds
Programming
Linux
Open Source

อ่านต่อ...
 



กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see
ด้านบน ด้านล่าง