Sorbet ซึ่งเป็นระบบตรวจสอบประเภทคงที่สำหรับ Ruby เป็นแบบโอเพ่นซอร์ส

บริษัท Stripe เชี่ยวชาญในการพัฒนาแพลตฟอร์มสำหรับการชำระเงินออนไลน์ เปิด รหัสแหล่งที่มาของโครงการ Sorbetซึ่งมีการจัดเตรียมระบบการตรวจสอบประเภทคงที่สำหรับภาษา Ruby รหัสเขียนด้วยภาษา C ++ และ จัดจำหน่ายโดย ได้รับอนุญาตภายใต้ Apache 2.0

ข้อมูลเกี่ยวกับประเภทในโค้ดสามารถคำนวณได้แบบไดนามิกและยังสามารถระบุในรูปแบบง่าย ๆ ได้ คำอธิบายประกอบซึ่งสามารถระบุในโค้ดโดยใช้วิธี sig (เช่น “sig {params(x: Integer).returns(String)}”) หรือวางไว้ในไฟล์แยกกันที่มีนามสกุล rbi มีอยู่ เป็นเบื้องต้น การวิเคราะห์โค้ดแบบคงที่ โดยไม่ต้องดำเนินการและตรวจสอบในขณะที่ดำเนินการ (เปิด โดยการเพิ่ม “require ‘sorbet-runtime’” ลงในโค้ด

ความเป็นไปได้ที่มีให้ การแปลแบบค่อยเป็นค่อยไป โครงการที่จะใช้ Sorbet - รหัสสามารถรวมทั้งบล็อกที่พิมพ์คำอธิบายประกอบและพื้นที่ที่ไม่ได้พิมพ์ที่ไม่ครอบคลุมโดยการตรวจสอบ คุณสมบัติยังรวมถึงประสิทธิภาพที่สูงมากและความสามารถในการปรับขนาดสำหรับฐานโค้ดที่มีโค้ดหลายล้านบรรทัด

โครงการนี้มีเคอร์เนลสำหรับการตรวจสอบประเภทคงที่
ชุดเครื่องมือสำหรับการสร้างโปรเจ็กต์ใหม่โดยใช้ Sorbet ชุดเครื่องมือสำหรับการถ่ายโอนโปรเจ็กต์ที่มีอยู่ทีละขั้นตอนไปใช้ Sorbet รันไทม์พร้อมภาษาเฉพาะโดเมนสำหรับการเขียนคำอธิบายประกอบเกี่ยวกับประเภทและ ที่เก็บ พร้อมคำจำกัดความประเภทสำเร็จรูปสำหรับแพ็คเกจ Ruby gems ต่างๆ

ในขั้นต้น Sorbet ได้รับการพัฒนาเพื่อตรวจสอบโครงการภายในของบริษัท Stripe ซึ่งส่วนใหญ่มีระบบการชำระเงินและการวิเคราะห์ที่เขียนด้วยภาษา Ruby และถูกย้ายไปยังหมวดหมู่ของโอเพ่นซอร์สหลังจากหนึ่งปีครึ่งของการพัฒนาและการใช้งาน ก่อนที่จะเปิดโค้ด มีการทดสอบเบต้า โดยมีบริษัทมากกว่า 30 แห่งเข้าร่วม ในขั้นตอนการพัฒนาปัจจุบัน Sorbet รองรับการเปิดตัวโปรเจ็กต์มาตรฐานส่วนใหญ่ใน Ruby แต่อาจมีความไม่เข้ากันบางประการ

ที่มา: opennet.ru

เพิ่มความคิดเห็น