TypeScript ಗೆ ಜಯ ಸಿಕ್ಕಿದೆ. ಇದರಿಂದ ನಮಗೆ ಏನು ಸಿಕ್ಕಿದೆ ಎಂಬುದು ಇಲ್ಲಿದೆ.
ಚರ್ಚೆ ಮುಗಿದಿದೆ. TypeScript ಗೆ ಜಯ ಸಿಕ್ಕಿದೆ. ಹೊಸ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಇದನ್ನು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಬಳಸುತ್ತವೆ.
ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಹಾಳು ಮಾಡುವ ಮುನ್ನ ಟೈಪೋಗಳನ್ನು (typos) ಪತ್ತೆಹಚ್ಚುವುದು ಇದರ ಮೂಲ ಉದ್ದೇಶವಾಗಿತ್ತು. ಆದರೆ ಇದರ ನಿಜವಾದ ಮೌಲ್ಯವು ಅದಕ್ಕಿಂತ ಬಹಳ ದೊಡ್ಡದಾಗಿದೆ.
ಟೈಪ್ಗಳು (Types) ಎಂದಿಗೂ ಹಳೆಯದಾಗದ ದಾಖಲೆಯಾಗಿ (documentation) ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಒಂದು ಫಂಕ್ಷನ್ ಸಿಗ್ನೇಚರ್ (function signature) ನೀವು ಏನನ್ನು ಕಳುಹಿಸಬೇಕು ಮತ್ತು ನಿಮಗೆ ಏನು ಮರಳಿ ಸಿಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿಖರವಾಗಿ ತಿಳಿಸುತ್ತದೆ. ನೀವು ಪಟ್ಟಿಗೆ ಹೊಸ ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಿದರೆ, ಕಂಪೈಲರ್ ನಿಮ್ಮ ಕೋಡ್ನ ಪ್ರತಿಯೊಂದು ಭಾಗವನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡಲು ನಿಮ್ಮನ್ನು ಒತ್ತಾಯಿಸುತ್ತದೆ. ಕೇವಲ ಕಾಮೆಂಟ್ (comment) ಹಾಕಿದ್ದರೆ ಅದು ಅಲ್ಲಿಯೇ ಇರುತ್ತಿತ್ತು ಮತ್ತು ನಿಮಗೆ ತಪ್ಪಾದ ಮಾಹಿತಿಯನ್ನು ನೀಡುತ್ತಿತ್ತು.
ರಿಫ್ಯಾಕ್ಟರಿಂಗ್ (Refactoring) ಸುರಕ್ಷಿತವಾಗುತ್ತದೆ. ಹಳೆಯ JavaScript ಕೋಡ್ನಲ್ಲಿ, ಒಂದು ಫೀಲ್ಡ್ ಅನ್ನು ಮರುನಾಮಕರಣ ಮಾಡುವುದು ಒಂದು ಜೂಜಿನಂತೆ ಭಾಸವಾಗುತ್ತದೆ. ನೀವು ಸ್ಟ್ರಿಂಗ್ಗಳಿಗಾಗಿ ಹುಡುಕುತ್ತೀರಿ ಮತ್ತು ಎಲ್ಲವೂ ಸರಿಯಾಗಿ ನಡೆಯಲಿ ಎಂದು ಹಾರೈಸುತ್ತೀರಿ. TypeScript ನಲ್ಲಿ, ನೀವು ಟೈಪ್ ಅನ್ನು ಬದಲಾಯಿಸಿದರೆ, ಕಂಪೈಲರ್ ಪ್ರತಿಯೊಂದು ಹಾನಿಗೊಳಗಾದ ಸಾಲಿನ ಪಟ್ಟಿಯನ್ನು (to-do list) ನೀಡುತ್ತದೆ. ರಿಫ್ಯಾಕ್ಟರಿಂಗ್ ಈಗ ಭಯಾನಕವಲ್ಲ; ಅದು ಕೇವಲ ಒಂದು ಕೆಲಸವಷ್ಟೇ.
ಟೈಪ್ಗಳು AI ಅಸಿಸ್ಟೆಂಟ್ಗಳನ್ನು ಕೂಡ ಉತ್ತಮಗೊಳಿಸುತ್ತವೆ.
ನೀವು AI ಗೆ ಟೈಪ್ ಮಾಡದ (untyped) JavaScript ಅನ್ನು ಎಡಿಟ್ ಮಾಡಲು ಹೇಳಿದರೆ, ಅದು ರಚನೆಯನ್ನು (structure) ಊಹಿಸಬೇಕಾಗುತ್ತದೆ. ನೀವು TypeScript ಬಳಸಿದರೆ, ಟೈಪ್ ಎಂಬುದು ಸ್ಪೆಸಿಫಿಕೇಶನ್ ಆಗಿರುತ್ತದೆ. ಏನನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ ಎಂಬುದು AI ಗೆ ತಿಳಿದಿರುತ್ತದೆ. ಒಂದು ವೇಳೆ AI ತಪ್ಪು ಮಾಡಿದರೆ, ಕಂಪೈಲರ್ ಅದನ್ನು ತಕ್ಷಣವೇ ಪತ್ತೆಹಚ್ಚುತ್ತದೆ. ಇದರಿಂದಾಗಿ ರಾತ್ರಿ 2 ಗಂಟೆಗೆ ಪ್ರೊಡಕ್ಷನ್ ಕ್ರ್ಯಾಶ್ (production crash) ಆಗುವುದಿಲ್ಲ; ಬದಲಾಗಿ ನಿಮ್ಮ ಎಡಿಟರ್ನಲ್ಲಿ ಒಂದು ಕೆಂಪು ಗೆರೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ.
ಟೈಪ್ಗಳು ನಿಮ್ಮ ವೇಗವನ್ನು ಕಡಿಮೆ ಮಾಡುವುದಿಲ್ಲ. AI ಜಗತ್ತಿನಲ್ಲಿ, ಅವು ನಿಮ್ಮ ವೇಗವನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ. ಅವು ಗಾರ್ಡ್ರೈಲ್ಗಳಂತೆ (guardrails) ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಇದರಿಂದ ನೀವು ಜನರೇಟ್ ಆದ ಕೋಡ್ ಅನ್ನು ನಂಬಬಹುದು.
ನಿಮ್ಮ ಟೈಪ್ಗಳನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಬರೆಯಿರಿ:
• ಬಹುসংখ্যক ಬೂಲಿಯನ್ಗಳ (booleans) ಬದಲಿಗೆ ಯೂನಿಯನ್ಗಳನ್ನು (unions) ಬಳಸಿ. ಒಂದಕ್ಕೊಂದು ವಿರುದ್ಧವಾಗಿರಬಹುದಾದ ಮೂರು ಫ್ಲಾಗ್ಗಳಿಗಿಂತ "loading" | "error" | "ready" ನಂತಹ ಸ್ಟೇಟಸ್ ಉತ್ತಮವಾಗಿದೆ.
• ನಿಮ್ಮ ಡೊಮೇನ್ ಟೈಪ್ಗಳಿಗೆ ಹೆಸರಿಸುವಿಕೆ ಮಾಡಿ. ನಿಮ್ಮ ಉದ್ದೇಶವನ್ನು ತೋರಿಸಲು type Cents = number ಅನ್ನು ಬಳಸಿ.
• "any" ಅನ್ನು ತಪ್ಪಿಸಿ. ಅದರ ಬದಲಿಗೆ "unknown" ಬಳಸಿ ಮತ್ತು ಅದನ್ನು ನ್ಯಾರೋ (narrow) ಮಾಡಿ. "any" ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಜಾಲದಲ್ಲಿ ಒಂದು ರಂಧ್ರವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ.
• ಇನ್ಫರೆನ್ಸ್ (inference) ಕೆಲಸ ಮಾಡಲು ಬಿಡಿ. ನೀವು ಎಲ್ಲವನ್ನೂ ಲೇಬಲ್ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ. ಫಂಕ್ಷನ್ ಸಿಗ್ನೇಚರ್ಗಳಂತಹ ನಿಮ್ಮ ಗಡಿಗಳನ್ನು (boundaries) ಲೇಬಲ್ ಮಾಡಿ ಮತ್ತು ಉಳಿದವುಗಳನ್ನು ಸಹಜವಾಗಿ ಹರಿಯಲು ಬಿಡಿ.
TypeScript ಕೇವಲ ಟೈಪೋಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಮಾಡಿದೆ. ಇದು ಕಡ್ಡಾಯಗೊಳಿಸಲಾದ ಒಪ್ಪಂದಗಳನ್ನು (enforced contracts) ಸೃಷ್ಟಿಸಿದೆ. ಈ ಒಪ್ಪಂದಗಳು ಭಯವಿಲ್ಲದ ರಿಫ್ಯಾಕ್ಟರಿಂಗ್ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ AI ಪರಿಕರಗಳಿಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತವೆ.
ಬಗ್ಗಳನ್ನು ತಡೆಯಲು ನಾವು ಟೈಪ್ಗಳನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿದೆವು. ಅವು ಉಳಿದೆಲ್ಲದಕ್ಕೂ ಅಡಿಪಾಯವಾಗಿರುವುದರಿಂದ ನಾವು ಅವುಗಳನ್ನು ಬಳಸುತ್ತಲೇ ಇರುತ್ತೇವೆ.
Source: https://dev.to/parsajiravand/typescript-won-heres-what-that-actually-bought-us-12m8
