- งานวิจัยที่เผยแพร่โดย Jan Strehmel นักศึกษาจากสถาบันวิทยาการคอมพิวเตอร์เชิงทฤษฎี ภายใต้สถาบันเทคโนโลยีคาร์ลสรูเฮอ
- รวบรวมรีโพซิทอรีมากกว่า 3,800 แห่งที่มีคำหยาบ และมากกว่า 7,600 แห่งที่ไม่มีคำหยาบ
- วัดคุณภาพโค้ดด้วย SoftWipe ซึ่งเป็นเครื่องมือวัดคุณภาพโค้ดภาษา C/C++ และวิเคราะห์ด้วยวิธีการทางสถิติที่หลากหลาย
- ผลลัพธ์พบว่า โดยเฉลี่ยแล้ว โค้ดที่มีคำหยาบมีคุณภาพสูงกว่า
- มีสมมติฐานว่า การใช้คำหยาบสะท้อนการมีส่วนร่วมทางอารมณ์ต่อความซับซ้อนของโค้ด และนำไปสู่การวิเคราะห์โค้ดอย่างวิพากษ์เพื่อสร้างโค้ดที่ดีกว่า
- อย่างไรก็ตาม การทบทวนงานวิจัยวิจารณ์ว่าเป็นเรื่องยากที่จะพบความเชื่อมโยงระหว่างคำหยาบกับคุณภาพโค้ด และงานวิจัยนี้ยังขาดความเป็นตัวแทนที่เพียงพอ
11 ความคิดเห็น
ทำให้นึกถึงโค้ดอัลกอริทึมการคำนวณเวกเตอร์ของ Quake เลยครับ
float Q_rsqrt( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 ); // บ้าชิบหายอะไรเนี่ย?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // รอบที่ 1
// y = y * ( threehalfs - ( x2 * y * y ) ); // รอบที่ 2, ลบออกได้
return y;
}
มีผลวิจัยออกมาว่า ตรงกันข้ามกับความเชื่อที่ว่า ‘คนที่ด่าเก่งน่าจะไม่ได้รับการศึกษาที่ดีนัก’ หากใช้คำด่าได้อย่างคล่องแคล่ว ก็มีแนวโน้มว่าจะมีคลังคำศัพท์ที่โดดเด่นกว่าโดยเปรียบเทียบกัน " - https://www.mk.co.kr/news/society/7115122
ยังมีงานวิจัยที่ระบุด้วยว่าคนที่ด่าเก่งมีคลังคำศัพท์สูงกว่าเช่นกัน หากมีคนหนึ่งที่ใช้แค่คำว่า 'ไม่' กับอีกคนที่แยกใช้ทั้ง 'ไม่' และ 'ไม่ ไอ้เxี้ย' ได้ทั้งคู่ ดูแล้วฝ่ายหลังน่าจะมีคลังคำศัพท์และความสามารถในการแสดงออกที่ดีกว่านะครับ
พออ่านบทความนี้แล้ว ผมก็เลยเปลี่ยนประเภทคอมมิตในข้อความคอมมิตจาก
feat:ให้ใช้เป็น f-word แทนทั้งหมดหรือเป็นเพราะคนที่เขียนโค้ดเก่งจนถึงขั้นแค่เห็นโค้ดของเพื่อนร่วมงานก็อดด่าไม่ได้เป็นคนเขียนโค้ดนั้นกันแน่
ไม่งั้นก็เป็นคนที่ฝีมือดีจนถึงขั้นต่อให้ใส่คำด่าไว้ในโค้ดก็ไม่มีใครกล้าว่าอะไรได้ 555
ฉันก็คิดแบบนี้เหมือนกัน ระดับทั่วไปคงไม่กล้าพอจะด่าไว้ในคอมเมนต์หรอก... น่าจะเซ็นเซอร์ตัวเองกันก่อน ผมคิดว่าน่าจะมีแค่โปรแกรมเมอร์ฝีมือยอดเยี่ยมบางคนส่วนน้อยเท่านั้นที่ไม่ค่อยยับยั้งชั่งใจ หรือจงใจไม่ยับยั้งชั่งใจ เลยทิ้งคำด่าไว้ ถ้าดูคอมเมนต์ต้นฉบับก็มีการพูดถึง Torvalds ด้วยนะ ฮ่าๆ
ดูเป็นประเด็นที่นักข่าวสายพาดหัวเรียกกระแสน่าจะชอบเลยนะ
เป็นงานวิจัยที่ดูแปลก ๆ นะ เห็นคอมเมนต์ด่าหยาบแล้วก็น่าจะทำให้รู้สึกไม่ดีเหมือนกัน -.-;
โดยพื้นฐานแล้ว ในงานวิจัยก็บอกว่ามีความสัมพันธ์กันระหว่างคำหยาบกับคุณภาพของโค้ด แต่ไม่มีความเป็นเหตุเป็นผล ดังนั้นจึงไม่ได้หมายความว่าการด่าจะทำให้คุณภาพโค้ดดีขึ้น
และก็ยังมีความเห็นว่ายังเร็วเกินไปที่จะสรุปผล และจำเป็นต้องมีการวิจัยเพิ่มเติมด้วย
ทางฝั่ง Hacker News เองก็มีการถกเถียงทั้งเห็นด้วยและไม่เห็นด้วยเยอะเหมือนกัน บางคนก็บอกว่าน่าจะจริง บางคนก็บอกว่าไม่ใช่...
ในคอมเมนต์ก็มีคนบอกว่า คนเรามักจะใช้คำหยาบได้ในสภาพแวดล้อมที่ปลอดภัย (ไม่ถูกกดทับ) และในสภาพแวดล้อมแบบนั้นก็ทำให้เกิดคุณภาพโค้ดที่ดีกว่าได้...
อีกความเห็นหนึ่งก็บอกว่า การสบถช่วยระบายอารมณ์ได้บ้าง เลยทำให้โฟกัสกับคุณภาพโค้ดได้มากขึ้น
จะถูกต้องแค่ไหนก็ยังไม่แน่ใจ แต่เขาบอกว่าใน OpenJDK ก็มีคำหยาบอยู่เหมือนกัน
สรุปโดย AI ของงานวิจัย
PDF นี้กล่าวถึงการใช้คำหยาบในโค้ดโอเพนซอร์สว่ามีความเกี่ยวข้องกับคุณภาพของโค้ดหรือไม่
เพื่อศึกษาประเด็นนี้ ผู้เขียนได้ครอว์ลรีโพซิทอรีภาษา C บน GitHub กว่า 3,800 รีโพซิทอรีที่มีคำหยาบ และกว่า 7,600 รีโพซิทอรีที่ไม่มีคำหยาบ
ผู้เขียนใช้เครื่องมือชื่อ SoftWipe เพื่อวัดเชิงปริมาณคุณภาพโค้ดของรีโพซิทอรีตามการปฏิบัติตามมาตรฐานการเขียนโค้ด
ผลลัพธ์แสดงให้เห็นบนพื้นฐานของการตรวจสอบทางสถิติว่า รีโพซิทอรีที่มีคำหยาบมีคะแนนคุณภาพโค้ดสูงกว่ารีโพซิทอรีที่ไม่มีคำหยาบอย่างมีนัยสำคัญ
ผู้เขียนตั้งสมมติฐานว่า การใช้คำหยาบสะท้อนถึงการมีส่วนร่วมทางอารมณ์ของโปรแกรมเมอร์และการวิเคราะห์โค้ดอย่างละเอียด จึงนำไปสู่คุณภาพที่ดีกว่า
อย่างไรก็ตาม ผู้เขียนยอมรับว่าความสัมพันธ์ไม่ได้หมายถึงเหตุและผล และคำหยาบก็ไม่ได้ช่วยยกระดับคุณภาพโค้ดโดยอัตโนมัติ
งานวิจัยนี้ให้ผลลัพธ์เบื้องต้นที่น่าสนใจ แต่ผู้เขียนระบุว่าการใช้ชุดข้อมูลที่ใหญ่ขึ้น (รวมโค้ด C++ และการระบุคำหยาบที่แม่นยำยิ่งขึ้น)
รวมถึงการตรวจสอบผลกระทบของจำนวนบรรทัดโค้ด จำนวนดาว และจำนวนคำหยาบที่มีต่อผลลัพธ์ด้านคุณภาพโค้ดอย่างละเอียดมากขึ้น อาจให้ข้อมูลเชิงลึกเพิ่มเติมได้
โดยสรุป ผลลัพธ์สำคัญของงานวิจัยนี้คือการพบความสัมพันธ์ที่มีนัยสำคัญทางสถิติระหว่างการใช้คำหยาบกับคะแนนคุณภาพโค้ดที่สูงในโค้ดภาษา C แบบโอเพนซอร์ส
อย่างไรก็ตาม ผู้เขียนเตือนว่ายังจำเป็นต้องมีการวิจัยเพิ่มเติมเพื่อทำความเข้าใจเหตุผลของความสัมพันธ์นี้และนัยเชิงปฏิบัติของมันให้ดียิ่งขึ้น
อาจเป็นเพราะวัฒนธรรมหลักของภาษา C คือวัฒนธรรมการวิจารณ์กันอย่างดุเดือดก็ได้ครับ