TypeScript ಗೆ ಜಯ ಸಿಕ್ಕಿದೆ. ಇದರಿಂದ ನಮಗೆ ಏನು ಸಿಕ್ಕಿದೆ ಎಂಬುದು ಇಲ್ಲಿದೆ.

ಚರ್ಚೆ ಮುಗಿದಿದೆ. ಹೆಚ್ಚಿನ ಹೊಸ ಫ್ರಂಟ್‌ಎಂಡ್ (frontend) ಪ್ರಾಜೆಕ್ಟ್‌ಗಳು ಡಿಫಾಲ್ಟ್ ಆಗಿ TypeScript ಅನ್ನು ಬಳಸುತ್ತವೆ. ಇದನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳಬೇಕೆ ಅಥವಾ ಬೇಡವೇ ಎಂಬ ಬಗ್ಗೆ ಜನರು ಇನ್ನು ಮುಂದೆ ವಾದಿಸುವುದಿಲ್ಲ.

ಇದರ ನಿಜವಾದ ಮೌಲ್ಯವು ಕೇವಲ ಟೈಪೋಗಳನ್ನು (typos) ಪತ್ತೆಹಚ್ಚುವುದರಲ್ಲಿ ಮಾತ್ರ ಇಲ್ಲ. ಇದು ಮೂಲ ಉದ್ದೇಶಕ್ಕಿಂತಲೂ ಹೆಚ್ಚು ಆಳವಾದದ್ದು.

ಟೈಪ್‌ಗಳು (Types) ಎಂದಿಗೂ ಹಳೆಯದಾಗದ (stale) ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಅನ್ನು ಒದಗಿಸುತ್ತವೆ. ಒಂದು ಫಂಕ್ಷನ್ ಸಿಗ್ನೇಚರ್ (function signature) ಒಂದು ಕೋಡ್ ತುಣುಕಿಗೆ ಏನು ಬೇಕು ಮತ್ತು ಅದು ಏನನ್ನು ಮರಳಿಸುತ್ತದೆ (returns) ಎಂಬುದನ್ನು ನಿಖರವಾಗಿ ತಿಳಿಸುತ್ತದೆ. ಒಬ್ಬ ಡೆವಲಪರ್ ಯೂನಿಯನ್ ಟೈಪ್‌ಗೆ (union type) ಹೊಸ ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಿದರೆ, ಕಂಪೈಲರ್ ನಿಮ್ಮ ಕೋಡ್‌ನ ಪ್ರತಿಯೊಂದು ಭಾಗವನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ನಿಮ್ಮನ್ನು ಒತ್ತಾಯಿಸುತ್ತದೆ. ಕಾಮೆಂಟ್‌ಗಳು (Comments) ಹಳೆಯದಾಗಿ ಹೋಗಬಹುದು, ಆದರೆ ಟೈಪ್‌ಗಳು ಹಾಗಲ್ಲ.

ರಿಫ್ಯಾಕ್ಟರಿಂಗ್ (Refactoring) ಎಂಬುದು ಭಯಾನಕ ಕೆಲಸದಿಂದ ಸುರಕ್ಷಿತ ಕೆಲಸವಾಗಿ ಬದಲಾಗುತ್ತದೆ. ಟೈಪ್ ಇಲ್ಲದ ಕೋಡ್‌ನಲ್ಲಿ, ಒಂದು ಫೀಲ್ಡ್ ಅನ್ನು ಮರುನಾಮಕರಣ ಮಾಡುವುದು ಜೂಜಾಡಿದಂತೆ ಭಾಸವಾಗುತ್ತದೆ. TypeScript ನಲ್ಲಿ, ನೀವು ಟೈಪ್ ಅನ್ನು ಬದಲಾಯಿಸಿದರೆ, ಕಂಪೈಲರ್ವು ಹಾನಿಗೊಳಗಾದ ಪ್ರತಿಯೊಂದು ಸಾಲಿನ ಪಟ್ಟಿಯನ್ನು ನಿಮಗೆ ನೀಡುತ್ತದೆ. ಇದು ಹಳೆಯ ಕೋಡ್ ಅನ್ನು ಬದಲಾಯಿಸುವ ಭಯವನ್ನು ಹೋಗಲಾಡಿಸುತ್ತದೆ.

ಟೈಪ್‌ಗಳು AI ಜೊತೆಗಿನ ನಿಮ್ಮ ಕೆಲಸವನ್ನೂ ಸುಧಾರಿಸುತ್ತವೆ.

ನೀವು ಟೈಪ್ ಇಲ್ಲದ JavaScript ಅನ್ನು ಎಡಿಟ್ ಮಾಡಲು AI ಗೆ ಕೇಳಿದಾಗ, ಅದು ರಚನೆಯನ್ನು (structure) ಊಹಿಸುತ್ತದೆ. ಇದು ತಪ್ಪುಗಳನ್ನು ಮಾಡಬಹುದು, ಇದು ಪ್ರೊಡಕ್ಷನ್ ದೋಷಗಳಿಗೆ (production errors) ಕಾರಣವಾಗುತ್ತದೆ. TypeScript ನಲ್ಲಿ, ಟೈಪ್ ಒಂದು ಸ್ಪೆಸಿಫಿಕೇಶನ್ (specification) ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. AI ನಿಯಮಗಳನ್ನು ತಿಳಿದಿರುತ್ತದೆ. ಒಂದು ವೇಳೆ AI ತಪ್ಪು ಮಾಡಿದರೆ, ಕಂಪೈಲರ್ ಅದನ್ನು ತಕ್ಷಣವೇ ಪತ್ತೆಹಚ್ಚುತ್ತದೆ. ಟೈಪ್‌ಗಳು "ಸಂಭವನೀಯ ಕೋಡ್" ಅನ್ನು "ಪರಿಶೀಲಿತ ಕೋಡ್" (proven code) ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತವೆ.

ಟೈಪ್‌ಗಳು ನಿಮ್ಮ ಕೆಲಸವನ್ನು ನಿಧಾನಗೊಳಿಸುವುದಿಲ್ಲ. AI ವರ್ಕ್‌ಫ್ಲೋನಲ್ಲಿ (workflow), ಅವು ನಿಮ್ಮ ಕೆಲಸವನ್ನು ವೇಗಗೊಳಿಸುತ್ತವೆ. ಅವು ಗಾರ್ಡ್‌ರೈಲ್ಸ್ (guardrails) ತರಹ ಕೆಲಸ ಮಾಡುತ್ತವೆ, ಇದರಿಂದ ನೀವು ಪ್ರತಿಯೊಂದು ಸಾಲನ್ನು ಮ್ಯಾನುಯಲ್ ಆಗಿ ಪರಿಶೀಲಿಸದೆ ಜನರೇಟ್ ಆದ ಕೋಡ್ ಅನ್ನು ನಂಬಬಹುದು.

ನಿಮ್ಮ ಟೈಪ್‌ಗಳನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಬರೆಯಿರಿ:

• ಬಹುসংখ্যক ಬೂಲಿಯನ್‌ಗಳ (booleans) ಬದಲಿಗೆ ಯೂನಿಯನ್‌ಗಳನ್ನು (unions) ಬಳಸಿ. "loading" | "error" | "ready" ನಂತಹ ಸ್ಟೇಟಸ್ ಅಸಾಧ್ಯವಾದ ಸ್ಥಿತಿಗಳನ್ನು (impossible states) ತಡೆಯುತ್ತದೆ. • ನಿಮ್ಮ ಡೊಮೇನ್ ಟೈಪ್‌ಗಳಿಗೆ (domain types) ಹೆಸರಿಡಿ. type Cents = number ಬಳಸುವುದು ನಿಮ್ಮ ಉದ್ದೇಶವನ್ನು ಸ್ಪಷ್ಟಪಡಿಸುತ್ತದೆ. • "any" ಅನ್ನು ತಪ್ಪಿಸಿ. ಬದಲಿಗೆ "unknown" ಬಳಸಿ ಮತ್ತು ನಿಮ್ಮ ಟೈಪ್‌ಗಳನ್ನು ನ್ಯಾರೋ (narrow) ಮಾಡಿ. "any" ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಜಾಲವನ್ನು (safety net) ನಾಶಪಡಿಸುತ್ತದೆ. • ಇನ್ಫರೆನ್ಸ್ (inference) ಕೆಲಸ ಮಾಡಲು ಬಿಡಿ. ನೀವು ಎಲ್ಲವನ್ನೂ ಲೇಬಲ್ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ. ನಿಮ್ಮ ಫಂಕ್ಷನ್ ಸಿಗ್ನೇಚರ್‌ಗಳು ಮತ್ತು ಎಕ್ಸ್‌ಪೋರ್ಟ್ ಮಾಡಿದ API ಗಳನ್ನು ಲೇಬಲ್ ಮಾಡಿ, ನಂತರ ಉಳಿದವುಗಳನ್ನು ತಾನಾಗಿಯೇ ನಡೆಯಲು ಬಿಡಿ.

TypeScript ಕೋಡ್‌ಬೇಸ್‌ಗಳನ್ನು (codebases) ಕಡ್ಡಾಯಗೊಳಿಸಲಾದ ಒಪ್ಪಂದಗಳ (enforced contracts) ಗುಂಪನ್ನಾಗಿ ಬದಲಾಯಿಸಿತು. ಈ ಒಪ್ಪಂದಗಳು ಭಯವಿಲ್ಲದ ರಿಫ್ಯಾಕ್ಟರಿಂಗ್ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ AI ನೆರವನ್ನು ಸಾಧ್ಯವಾಗಿಸುತ್ತವೆ.

ನಾವು ಬಗ್‌ಗಳನ್ನು (bugs) ತಡೆಯಲು ಟೈಪ್‌ಗಳನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿದೆವು. ಆದರೆ ಅವು ಉಳಿದೆಲ್ಲದಕ್ಕೂ ಅಡಿಪಾಯವಾಗಿರುವುದರಿಂದ ನಾವು ಅವುಗಳನ್ನು ಬಳಸುತ್ತಲೇ ಇರುತ್ತೇವೆ.

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