Blognone
Stripe รัน rubyfmt จัดโค้ดทีเดียว 25 ล้านบรรทัด, GitHub ถึงกับแสดง file changed เป็น infinity Body Fable Tales และ Anna Mason ทีมงาน Stripe รายงานถึงการจัดฟอร์แมตซอร์สโค้ดของ Stripe ทั้งหมดในภาษา Ruby เมื่อปี 2024 รวม 62,213 ไฟล์ คิดเป็น 25 ล้านบรรทัดซึ่งน่าจะเป็นซอร์สโค้ด Ruby ที่ใหญ่ที่สุดในโลก แต่โค้ดกลับไม่มีมาตรฐานกลางในการจัดฟอร์แมตทำให้มีลายมือต่างกันไป ก่อนหน้านี้ Stripe พยายามใช้ formatter มาก่อน โดยเลือก prettier-ruby แต่ไม่ประสบความสำเร็จเพราะทำงานช้าเกินไป บางไฟล์ที่ขนาดใหญ่มากๆ ถึงกับแครชไปเลย ขณะที่โปรแกรม rubocop ที่ใช้ lint ก็ไม่ได้ทำหน้าที่ formatter โดยตรง แถมมีกฎให้คอนฟิกจำนวนมาก ทำให้แต่ละคนคอนฟิกไม่ตรงกัน ทีมงานตัดสินใจใช้ rubyfmt ที่พัฒนามาแล้วหลายปี โดยมีแนวทางชัดเจนว่าโปรแกรมต้องรันได้ภายใน 100ms แนวทางนี้ทำให้ต้องเขียนโปรแกรมใหม่ด้วย Rust แล้วลิงก์เข้ากับ C API ของ Ruby โดยตรง ทีมงานเริ่มใช้ formatter โดยให้แต่ละไฟล์ประกาศก่อนว่าต้องการใช้ formatter แล้วค่อยๆ ขยายวงออกไปเรื่อยๆ และกำหนดวันเสาร์หนึ่งเพื่อปรับโค้ดทั้งหมดให้ฟอร์แมตด้วย rubyfmt รวมทั้งหมด 62,213 ไฟล์ แพตช์มีขนาดใหญ่มากเสียจน GitHub ไม่เรนเดอร์แพตช์ และแสดงจำนวนไฟล์ที่แก้ไขเป็น infinity ผ่านมาสองปี Stripe พบว่าการบังคับ formatter เป็นมาตรฐานเดียวกันประหยัดเวลาทำงานไปได้ ไม่ต้องมานั่งคอมเมนต์โค้ดกันเรื่องฟอร์แมตอีกต่อไป ที่มา - Stripe lew Tue, 05/05/2026 - 09:23
Go to News Site