TypeScript വിജയിച്ചു. അത് നമുക്ക് നൽകിയ നേട്ടങ്ങൾ ഇവയാണ്.

ഇനി ആരും TypeScript ഉപയോഗിക്കുന്നതിനെക്കുറിച്ച് തർക്കിക്കാറില്ല. പുതിയ ഫ്രണ്ട്‌എൻഡ് പ്രോജക്റ്റുകളിൽ ഇത് ഡിഫോൾട്ടായി ഉപയോഗിക്കുന്നു. തർക്കങ്ങൾ അവസാനിച്ചു. TypeScript വിജയിച്ചു.

വിജയിക്കുക എന്നത് വിരസമായ ഒരു കാര്യമാണ്. എന്നാൽ ടൈപ്പുകൾ (types) നിങ്ങളുടെ വർക്ക്ഫ്ലോയ്ക്ക് നൽകുന്ന മൂല്യമാണ് യഥാർത്ഥ നേട്ടം. ഇത് വെറും ടൈപ്പിംഗ് തെറ്റുകൾ (typos) കണ്ടെത്തുന്നത് മാത്രമല്ല.

ഒരു ഫംഗ്ഷൻ സിഗ്നേച്ചർ (function signature) ഡോക്യുമെന്റേഷനായി പ്രവർത്തിക്കുന്നു. അത് ഒരിക്കലും കാലഹരണപ്പെടില്ല. കോഡിൽ മാറ്റം വന്നാൽ, കംപൈലർ ഉടൻ തന്നെ ബിൽഡ് പരാജയപ്പെടുത്തുന്നു.

ഒരു റിമൈൻഡർ ഷെഡ്യൂൾ ചെയ്യുന്ന ഫംഗ്ഷൻ നോക്കൂ. ഒരു കമന്റും വായിക്കാതെ തന്നെ അതിന് എന്താണ് വേണ്ടതെന്നും അത് എന്താണ് റിട്ടേൺ ചെയ്യുന്നതെന്നും നിങ്ങൾക്ക് അറിയാം. കമ്മ്യൂണിക്കേഷൻ ചാനലിനുള്ള കൃത്യമായ ഓപ്ഷനുകൾ നിങ്ങൾക്ക് കാണാൻ കഴിയും. നിങ്ങൾ ഒരു പുതിയ ചാനൽ ചേർക്കുകയാണെങ്കിൽ, കോഡ് അപ്‌ഡേറ്റ് ചെയ്യേണ്ട എല്ലാ സ്ഥലങ്ങളും കംപൈലർ നിങ്ങൾക്ക് കാണിച്ചുതരും. എന്നാൽ ഒരു കമന്റ് അവിടെത്തന്നെ ഇരിക്കുകയും തെറ്റായ വിവരങ്ങൾ നൽകുകയും ചെയ്തേക്കാം.

റീഫാക്റ്ററിംഗ് (Refactoring) സുരക്ഷിതമാകുന്നു. ടൈപ്പുകൾ ഇല്ലാത്ത കോഡിൽ, ഒരു ഫീൽഡിന്റെ പേര് മാറ്റുന്നത് ഭയപ്പെടുത്തുന്ന കാര്യമാണ്. നിങ്ങൾ സ്ട്രിംഗുകൾക്കായി തിരയുകയും നല്ലത് സംഭവിക്കട്ടെ എന്ന് പ്രാർത്ഥിക്കുകയും ചെയ്യുന്നു. എന്നാൽ TypeScript-ൽ, നിങ്ങൾ ടൈപ്പ് മാറ്റുന്നു. എന്തൊക്കെയാണ് തകരാറിലായതെന്ന് കംപൈലർ നിങ്ങൾക്ക് ഒരു ലിസ്റ്റ് നൽകുന്നു. റീഫാക്റ്ററിംഗ് എന്നത് അപകടകരമായ ഒന്നല്ലാതാകുന്നു; അതൊരു സുരക്ഷിത ജോലിയായി മാറുന്നു.

ടൈപ്പുകൾ AI ഉപയോഗിക്കാനും നിങ്ങളെ സഹായിക്കുന്നു.

ടൈപ്പുകൾ ഇല്ലാത്ത JavaScript എഡിറ്റ് ചെയ്യാൻ നിങ്ങൾ ഒരു AI-യോട് ആവശ്യപ്പെടുമ്പോൾ, അത് ഒബ്‌ജക്റ്റിന്റെ ഘടന (object shape) ഊഹിച്ചാണ് പ്രവർത്തിക്കുന്നത്. എന്നാൽ നിങ്ങൾ TypeScript ഉപയോഗിക്കുമ്പോൾ, ടൈപ്പ് എന്നത് ഒരു സ്പെസിഫിക്കേഷൻ ആണ്. എന്താണ് അനുവദനീയമെന്ന് AI-ക്ക് കൃത്യമായി അറിയാം. പ്രൊഡക്ഷൻ ക്രാഷുകൾക്ക് പകരം എററുകൾ കംപൈൽ എററുകളായി കാണപ്പെടുന്നു. ടൈപ്പുകൾ ജനറേറ്റ് ചെയ്ത കോഡിനെ അനുയോജ്യമായ കോഡായി മാറ്റുന്നു.

ടൈപ്പുകൾ നിങ്ങളുടെ വേഗത കുറയ്ക്കുമെന്ന് ആളുകൾ പണ്ട് പറയാറുണ്ടായിരുന്നു. എന്നാൽ ഒരു AI വർക്ക്ഫ്ലോയിൽ, ടൈപ്പുകൾ നിങ്ങളുടെ വേഗത വർദ്ധിപ്പിക്കുന്നു. അവ ഗാർഡ്‌റെയിലുകളായി (guardrails) പ്രവർത്തിക്കുന്നു. ഓരോ വരിയും നേരിട്ട് പരിശോധിക്കുന്നതിന് പകരം, ജനറേറ്റ് ചെയ്ത കോഡ് ആത്മവിശ്വാസത്തോടെ സ്വീകരിക്കാൻ നിങ്ങൾക്ക് കഴിയും.

ഈ നിയമങ്ങൾ ഉപയോഗിച്ച് മികച്ച ടൈപ്പുകൾ എഴുതുക:

  • ഒന്നിലധികം ബൂളിയനുകൾക്ക് (booleans) പകരം യൂണിയനുകൾ (unions) ഉപയോഗിക്കുക. മൂന്ന് പ്രത്യേക ഫ്ലാഗുകൾക്ക് പകരം "loading" | "error" | "ready" പോലുള്ള ഒരു സ്റ്റാറ്റസ് ഉപയോഗിക്കുന്നതാണ് നല്ലത്.
  • നിങ്ങളുടെ ഡൊമെയ്ൻ ടൈപ്പുകൾക്ക് (domain types) പേര് നൽകുക. വെറുമൊരു നമ്പറിന് പകരം Cents പോലുള്ള ഒരു ടൈപ്പ് ഉപയോഗിക്കുന്നത് നിങ്ങളുടെ ഉദ്ദേശ്യം വ്യക്തമാക്കുന്നു.
  • any ഒഴിവാക്കുക. unknown ഉപയോഗിക്കുകയും അതിനെ നാരോ (narrow) ചെയ്യുകയും ചെയ്യുക. any എന്ന കീവേഡ് നിങ്ങളുടെ സുരക്ഷാ വലയം (safety net) നശിപ്പിക്കുന്നു.
  • ഇൻഫറൻസ് (inference) പ്രവർത്തിക്കാൻ അനുവദിക്കുക. എല്ലാത്തിനും അനോട്ടേഷൻ (annotate) നൽകരുത്. നിങ്ങളുടെ ബൗണ്ടറികളിൽ മാത്രം അനോട്ടേഷൻ നൽകുക, ബാക്കിയുള്ളവ തനിയെ നടക്കട്ടെ.

TypeScript കോഡ്ബേസുകളെ വ്യക്തമായ കരാറുകളാക്കി (explicit contracts) മാറ്റി. ഈ കരാറുകൾ ഭയമില്ലാത്ത റീഫാക്റ്ററിംഗിനും വിശ്വസനീയമായ AI സഹായത്തിനും വഴിയൊരുക്കുന്നു.

ബഗുകൾ ഒഴിവാക്കാൻ വേണ്ടിയാണ് നമ്മൾ ടൈപ്പുകൾ ഉപയോഗിച്ചു തുടങ്ങിയത്. എന്നാൽ മറ്റെല്ലാറ്റിന്റെയും അടിസ്ഥാനമായതുകൊണ്ടാണ് നമ്മൾ അവ തുടർന്നും ഉപയോഗിക്കുന്നത്.

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

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