TypeScript வென்றுவிட்டது. அதன் மூலம் நமக்குக் கிடைத்த நன்மைகள் இவை.

இனி TypeScript பயன்படுத்துவது குறித்து யாரும் விவாதிப்பதில்லை. புதிய frontend திட்டங்கள் இயல்பாகவே இதைப் பயன்படுத்துகின்றன. விவாதம் முடிந்துவிட்டது. TypeScript வென்றுவிட்டது.

வெற்றி பெறுவது என்பது சலிப்பான ஒரு பகுதி. உங்கள் workflow-க்கு types என்ன செய்கிறது என்பதே உண்மையான மதிப்பு. இது வெறும் எழுத்துப் பிழைகளைக் (typos) கண்டறிவதையும் தாண்டிப்பட்டது.

ஒரு function signature ஆவணமாகச் (documentation) செயல்படுகிறது. அது ஒருபோதும் காலாவதியாகாது. code மாறினால், compiler உடனடியாக build-ஐத் தோல்வியடையச் செய்யும்.

ஒரு reminder-ஐத் திட்டமிடும் (schedules) function-ஐப் பாருங்கள். ஒரு கமெண்ட்டைப் (comment) படிக்காமலேயே அதற்கு என்ன தேவை மற்றும் அது எதைத் திருப்பித் தரும் (returns) என்பதை நீங்கள் அறிந்து கொள்ளலாம். தகவல் தொடர்பு சேனலுக்கான (communication channel) துல்லியமான விருப்பங்களை நீங்கள் பார்க்க முடியும். நீங்கள் ஒரு புதிய சேனலைச் சேர்த்தால், உங்கள் code-ஐ நீங்கள் எங்கு மாற்ற வேண்டும் என்பதை compiler உங்களுக்குத் தெரிவிக்கும். ஒரு கமெண்ட் அங்கேயே இருக்கும், அது தவறாக மாறிவிடும்.

Refactoring பாதுகாப்பானதாக மாறுகிறது. untyped code-இல், ஒரு field-ன் பெயரை மாற்றுவது பயமுறுத்துவதாக இருக்கும். நீங்கள் strings-களைத் தேடி, எல்லாம் சரியாக நடக்கும் என்று நம்புவீர்கள். TypeScript-இல், நீங்கள் type-ஐ மாற்றுகிறீர்கள். எதெல்லாம் உடைந்துவிட்டது என்பதற்கான பட்டியலை compiler உங்களுக்கு வழங்கும். Refactoring என்பது ஆபத்தான ஒன்றாக இல்லாமல், ஒரு பாதுகாப்பான பணியாக மாறுகிறது.

Types உங்களுக்கு AI-ஐப் பயன்படுத்தவும் உதவுகின்றன.

நீங்கள் ஒரு AI-இடம் untyped JavaScript-ஐத் திருத்தக் கேட்கும்போது, அது object-ன் வடிவத்தைக் (shape) கணிக்க முயலும். நீங்கள் TypeScript பயன்படுத்தும்போது, அந்த type ஒரு specification ஆக அமைகிறது. எதெல்லாம் அனுமதிக்கப்படும் என்பதை AI துல்லியமாகத் தெரிந்து கொள்ளும். பிழைகள் production crashes ஆகத் தெரிவதற்குப் பதிலாக, compile errors ஆகத் தெரியும். Types மூலம் உருவாக்கப்படும் code, சரியாகப் பொருந்தக்கூடிய code ஆக மாறுகிறது.

Types உங்களைத் தாமதப்படுத்தும் என்று மக்கள் கூறுவார்கள். ஆனால் ஒரு AI workflow-இல், types உங்கள் வேகத்தை அதிகரிக்கும். அவை guardrails போலச் செயல்படுகின்றன. ஒவ்வொரு வரியையும் கையால் சரிபார்ப்பதற்குப் பதிலாக, உருவாக்கப்பட்ட code-ஐ நீங்கள் நம்பிக்கையுடன் ஏற்றுக்கொள்ளலாம்.

இந்த விதிகளுடன் சிறந்த types-களை எழுதுங்கள்:

  • பல booleans-களுக்குப் பதிலாக unions-களைப் பயன்படுத்துங்கள். "loading" | "error" | "ready" போன்ற ஒரு status, மூன்று தனித்தனி flags-களை விடச் சிறந்தது.
  • உங்கள் domain types-களுக்குப் பெயரிடுங்கள். ஒரு சாதாரண எண்ணிற்குப் பதிலாக Cents போன்ற ஒரு type-ஐப் பயன்படுத்துவது உங்கள் நோக்கத்தைக் காட்டுகிறது.
  • any-ஐத் தவிர்க்கவும். unknown-ஐப் பயன்படுத்தி அதைச் சுருக்கவும் (narrow it down). any என்ற keyword உங்கள் safety net-ஐ அழித்துவிடும்.
  • inference வேலை செய்ய விடுங்கள். எல்லாவற்றிற்கும் annotate செய்யாதீர்கள். உங்கள் boundaries-களை மட்டும் annotate செய்துவிட்டு, மற்றவற்றைத் தானாகச் செல்ல விடுங்கள்.

TypeScript codebases-களை தெளிவான contracts ஆக மாற்றியுள்ளது. இந்த contracts அச்சமின்றி refactoring செய்யவும் மற்றும் நம்பகமான AI உதவியைப் பெறவும் அனுமதிக்கின்றன.

பிழைகளைத் தடுக்கவே நாங்கள் types-களைப் பயன்படுத்தத் தொடங்கினோம். அவை மற்ற அனைத்திற்கும் அடிப்படையாக இருப்பதால், அவற்றை இன்றும் தொடர்ந்து பயன்படுத்துகிறோம்.

Source: https://dev.to/parsajiravand/typescript-won-heres-what-that-actually-bought-us-53lo

Optional learning community: https://t.me/GyaanSetuAi