• Bloomberg Terminal คือผลิตภัณฑ์หลัก: มีแอปมากกว่า 10,000 แอป

→ แสดงข้อมูลแบบเรียลไทม์, ข่าว, การเทรด, การส่งข้อความ ฯลฯ

→ ในปี 2005 ได้ย้ายโค้ดเซิร์ฟเวอร์ Fortran/C/C++ เดิมมาเป็น JS และตั้งแต่ปี 2012 ฝั่งไคลเอนต์ก็ใช้ JS เช่นกัน

→ มีโค้ด JS มากกว่า 50 ล้านบรรทัด และมีนักพัฒนา JS มากกว่า 2,000 คน

→ การย้ายจาก JS ไป TS ในสเกลระดับนี้เป็นเรื่องใหญ่ และในองค์กรขนาดใหญ่ก็มักลังเลกับการเปลี่ยนเทคโนโลยีและขยับตัวช้า

→ แต่ที่น่าสนใจก็คือ พอเริ่มเปลี่ยนไปใช้ TS แล้ว วิศวกรกลับเป็นฝ่ายขยับกันเองและกลายเป็นผู้ผลักดัน

→ ในปีแรกเพียงปีเดียว มี 200 โปรเจกต์ที่ย้ายไปแล้ว และไม่มีโปรเจกต์ไหนย้ายกลับ

  • หลักการสำคัญ

→ Scalability: แม้จะขยายตัวต่อเนื่อง ก็ยังต้องรักษาความเร็วในการพัฒนาไว้ได้

→ Ecosystem Coherence: ทุกแพ็กเกจต้องทำงานร่วมกันได้ และไม่ควรมีความยุ่งยากเมื่อต้องอัปเกรด dependency

→ Standards Alignment: ปฏิบัติตามมาตรฐานอย่าง ECMAScript และต้องพร้อมเสมอไม่ว่าอนาคตจะไปทางไหน

  • 10 บทเรียน
  1. TypeScript อาจมองได้ว่าเป็น JavaScript + Types

  2. TS พัฒนาอย่างรวดเร็ว ดังนั้นควรตามคอมไพเลอร์เวอร์ชันใหม่ล่าสุดให้ทัน

  3. การตั้งค่า tsconfig ให้สม่ำเสมอมีคุณค่า

  4. การระบุ dependency ไว้ตรงไหนนั้นสำคัญ

→ ใช้ Ambient Modules

  1. การลดความซ้ำซ้อนของ Type เป็นเรื่องสำคัญ

  2. ควรหลีกเลี่ยง implicit type dependency

  3. ใน declaration file มีโหมด Export อยู่ 3 แบบ: global, module, implicit exports

→ ถ้าเป็นไปได้ให้ใช้ module

  1. การห่อหุ้มภายในของแพ็กเกจอาจถูกละเมิดได้

  2. declaration ที่สร้างอัตโนมัติสามารถ inline type มาจาก dependency ได้

  3. declaration ที่สร้างขึ้นอาจรวม dependency ที่ไม่จำเป็นต้องมีไว้ด้วย

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น