ಮಾಸ್ಟರಿಂಗ್ ಅಸಮಕಾಲಿಕ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕರೆಗಳು
ಆಧುನಿಕ ವೆಬ್ ಅಭಿವೃದ್ಧಿಗೆ ಅಸಮಕಾಲಿಕ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕರೆಗಳು ಅತ್ಯಗತ್ಯವಾಗಿದ್ದು, ನಿರ್ಬಂಧಿಸದ ಕಾರ್ಯಾಚರಣೆಗಳು ಮತ್ತು ಸುಗಮ ಬಳಕೆದಾರ ಅನುಭವಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಅನೇಕ ಡೆವಲಪರ್ಗಳು ಈ ಕರೆಗಳಿಂದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಕಾರ್ಯದೊಳಗೆ ಹಿಂದಿರುಗಿಸುವಲ್ಲಿ ಸವಾಲುಗಳನ್ನು ಎದುರಿಸುತ್ತಾರೆ.
jQuery ನ ಅಜಾಕ್ಸ್, Node.js ನ fs.readFile ಅನ್ನು ಬಳಸುತ್ತಿರಲಿ, ಅಥವಾ ವಾಗ್ದಾನಗಳೊಂದಿಗೆ ಪಡೆಯುತ್ತಿರಲಿ, ಸಮಸ್ಯೆಯು ಆಗಾಗ್ಗೆ ಉದ್ಭವಿಸುತ್ತದೆ: ಕಾರ್ಯವು ನಿರೀಕ್ಷಿತ ಪ್ರತಿಕ್ರಿಯೆಯ ಬದಲಿಗೆ ವ್ಯಾಖ್ಯಾನಿಸದೆ ಹಿಂತಿರುಗುತ್ತದೆ. ಪರಿಣಾಮಕಾರಿ ಅಸಮಕಾಲಿಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ಗೆ ಈ ಸಮಸ್ಯೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಮತ್ತು ಪರಿಹರಿಸುವುದು ಬಹಳ ಮುಖ್ಯ.
ಆಜ್ಞೆ | ವಿವರಣೆ |
---|---|
$.ajax | ಅಸಮಕಾಲಿಕ HTTP ವಿನಂತಿಗಳನ್ನು ನಿರ್ವಹಿಸಲು jQuery ಕಾರ್ಯ. |
resolve | ಭರವಸೆಯನ್ನು ಪರಿಹರಿಸಲು ಮತ್ತು ಅದರ ಫಲಿತಾಂಶವನ್ನು ಒದಗಿಸಲು ಬಳಸುವ ಕಾರ್ಯ. |
reject | ಭರವಸೆಯನ್ನು ತಿರಸ್ಕರಿಸಲು ಮತ್ತು ವೈಫಲ್ಯಕ್ಕೆ ಕಾರಣವನ್ನು ಒದಗಿಸಲು ಬಳಸುವ ಕಾರ್ಯ. |
require('fs').promises | ಭರವಸೆ ಬೆಂಬಲದೊಂದಿಗೆ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬಳಸಲು Node.js ವಿಧಾನ. |
await | ಭರವಸೆಯನ್ನು ಪೂರೈಸುವವರೆಗೆ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ವಿರಾಮಗೊಳಿಸಲು JavaScript ಕೀವರ್ಡ್. |
fetch | XMLHttpRequest ನಂತೆಯೇ ನೆಟ್ವರ್ಕ್ ವಿನಂತಿಗಳನ್ನು ಮಾಡಲು API. |
response.json() | ಪ್ರತಿಕ್ರಿಯೆಯಿಂದ JSON ದೇಹವನ್ನು ಪಾರ್ಸ್ ಮಾಡುವ ವಿಧಾನ. |
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಪ್ರತಿಕ್ರಿಯೆ ನಿರ್ವಹಣೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
ಮೇಲಿನ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಅವುಗಳ ಫಲಿತಾಂಶಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಹಿಂದಿರುಗಿಸಲು ವಿಭಿನ್ನ ವಿಧಾನಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತವೆ. ಮೊದಲ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು ಬಳಸುತ್ತೇವೆ $.ajax ಅಸಮಕಾಲಿಕ HTTP ವಿನಂತಿಯನ್ನು ನಿರ್ವಹಿಸಲು jQuery ನಿಂದ ಕಾರ್ಯ. ಹಿಂದಿರುಗಿಸುವ ಮೂಲಕ ಎ Promise ಮತ್ತು ಬಳಸುವುದು resolve ಮತ್ತು reject, ವಿನಂತಿಯು ಪೂರ್ಣಗೊಂಡ ನಂತರ ಫಂಕ್ಷನ್ ಫಲಿತಾಂಶವನ್ನು ಒದಗಿಸುತ್ತದೆ ಎಂದು ನಾವು ಖಚಿತಪಡಿಸುತ್ತೇವೆ. ಈ ವಿಧಾನವು ಅಸಮಕಾಲಿಕ ನಡವಳಿಕೆಯನ್ನು ಶುದ್ಧ ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದಾದ ರೀತಿಯಲ್ಲಿ ನಿರ್ವಹಿಸಲು ಭರವಸೆಗಳ ಶಕ್ತಿಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
Node.js ಗಾಗಿ ಬರೆದ ಎರಡನೇ ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ, ದಿ require('fs').promises ಫೈಲ್ ಸಿಸ್ಟಮ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಅಸಮಕಾಲಿಕವಾಗಿ ನಿರ್ವಹಿಸಲು ವಿಧಾನವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಬಳಸಿ async/await ಸಿಂಟ್ಯಾಕ್ಸ್, ಕಾರ್ಯವು ಫೈಲ್ ಅನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಅದರ ವಿಷಯವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ದೋಷ ಸಂಭವಿಸಿದಲ್ಲಿ, ಅದನ್ನು ಹಿಡಿಯಲಾಗುತ್ತದೆ ಮತ್ತು ಸೂಕ್ತವಾಗಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ. ಮೂರನೆಯ ಉದಾಹರಣೆಯು ಇದರ ಬಳಕೆಯನ್ನು ತೋರಿಸುತ್ತದೆ fetch API ಅನ್ನು ಸಂಯೋಜಿಸಲಾಗಿದೆ async/await ನೆಟ್ವರ್ಕ್ ವಿನಂತಿಗಳನ್ನು ನಿರ್ವಹಿಸಲು. ದಿ response.json() ಪ್ರತಿಕ್ರಿಯೆಯಿಂದ JSON ಡೇಟಾವನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ, ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಯು ಪೂರ್ಣಗೊಂಡ ನಂತರ ಕಾರ್ಯವು ಬಯಸಿದ ಡೇಟಾವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಭರವಸೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅಸಮಕಾಲಿಕ ಕ್ರಿಯೆಯಿಂದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಹಿಂತಿರುಗಿಸುವುದು
ಭರವಸೆಗಳೊಂದಿಗೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್
function foo() {
return new Promise((resolve, reject) => {
$.ajax({
url: '...',
success: function(response) {
resolve(response);
},
error: function(error) {
reject(error);
}
});
});
}
foo().then(response => {
console.log(response);
}).catch(error => {
console.error(error);
});
Node.js ನಲ್ಲಿ Async/Await ನೊಂದಿಗೆ ಅಸಮಕಾಲಿಕ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು
Async/Await ಜೊತೆಗೆ Node.js
const fs = require('fs').promises;
async function foo() {
try {
const data = await fs.readFile("path/to/file");
return data;
} catch (err) {
throw err;
}
}
foo().then(data => {
console.log(data);
}).catch(err => {
console.error(err);
});
ಅಸಮಕಾಲಿಕ ಡೇಟಾವನ್ನು ಹಿಂತಿರುಗಿಸಲು Fetch API ಅನ್ನು ಬಳಸುವುದು
Fetch API ಮತ್ತು Async/Await ಜೊತೆಗೆ JavaScript
async function foo() {
try {
const response = await fetch('url');
const data = await response.json();
return data;
} catch (error) {
console.error(error);
}
}
foo().then(data => {
console.log(data);
});
ಅಸಮಕಾಲಿಕ ಡೇಟಾ ನಿರ್ವಹಣೆಗೆ ಪರಿಣಾಮಕಾರಿ ತಂತ್ರಗಳು
JavaScript ನಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸುವ ಒಂದು ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಈವೆಂಟ್-ಚಾಲಿತ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಬಳಸುವುದು. I/O ಕಾರ್ಯಾಚರಣೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಈ ಮಾದರಿಯು ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ, ಅಲ್ಲಿ ಈವೆಂಟ್ನ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಕಾಲ್ಬ್ಯಾಕ್ಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಈವೆಂಟ್ ಎಮಿಟರ್ Node.js ನಲ್ಲಿ ಒಂದು ಪ್ರಮುಖ ವೈಶಿಷ್ಟ್ಯವಾಗಿದ್ದು ಅದು ಈವೆಂಟ್-ಚಾಲಿತ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ರಚಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. EventEmitter ವರ್ಗವನ್ನು ಬಳಸುವ ಮೂಲಕ, ಡೆವಲಪರ್ಗಳು ಈವೆಂಟ್ಗಳು ಮತ್ತು ಕಾಲ್ಬ್ಯಾಕ್ಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿರ್ವಹಿಸಬಹುದು.
ಹೆಚ್ಚುವರಿಯಾಗಿ, ಮೈಕ್ರೊಟಾಸ್ಕ್ಗಳು ಮತ್ತು ಮ್ಯಾಕ್ರೋಟಾಸ್ಕ್ಗಳ ಪರಿಕಲ್ಪನೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ನಿರ್ಣಾಯಕವಾಗಿದೆ. ಈ ಕಾರ್ಯಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಲು JavaScript ರನ್ಟೈಮ್ ಈವೆಂಟ್ ಲೂಪ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಭರವಸೆಗಳಂತಹ ಮೈಕ್ರೋಟಾಸ್ಕ್ಗಳು ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯನ್ನು ಹೊಂದಿವೆ ಮತ್ತು ಸೆಟ್ಟೈಮ್ಔಟ್ನಂತಹ ಮ್ಯಾಕ್ರೋಟಾಸ್ಕ್ಗಳ ಮೊದಲು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಈ ಜ್ಞಾನವನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ಮೂಲಕ, ಅಭಿವರ್ಧಕರು ತಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳ ಹರಿವನ್ನು ಉತ್ತಮವಾಗಿ ನಿಯಂತ್ರಿಸಬಹುದು.
ಅಸಮಕಾಲಿಕ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬಗ್ಗೆ ಪದೇ ಪದೇ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು
- ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಭರವಸೆ ಎಂದರೇನು?
- ಭರವಸೆಯು ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಯ ಅಂತಿಮ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ (ಅಥವಾ ವೈಫಲ್ಯ) ಮತ್ತು ಅದರ ಫಲಿತಾಂಶದ ಮೌಲ್ಯವನ್ನು ಪ್ರತಿನಿಧಿಸುವ ವಸ್ತುವಾಗಿದೆ.
- ಹೇಗೆ ಮಾಡುತ್ತದೆ async/await ಅಸಮಕಾಲಿಕ ಕೋಡ್ ಅನ್ನು ಸುಧಾರಿಸುವುದೇ?
- Async/await ಅಸಿಂಕ್ರೊನಸ್ ಕೋಡ್ ಅನ್ನು ಸಿಂಕ್ರೊನಸ್ ರೀತಿಯಲ್ಲಿ ಬರೆಯಲು ಅನುಮತಿಸುತ್ತದೆ, ಇದು ಹೆಚ್ಚು ಓದಬಲ್ಲ ಮತ್ತು ನಿರ್ವಹಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ.
- ಏನು EventEmitter Node.js ನಲ್ಲಿ ವರ್ಗ?
- ದಿ EventEmitter ವರ್ಗವು Node.js ನಲ್ಲಿನ ಒಂದು ಪ್ರಮುಖ ಘಟಕವಾಗಿದ್ದು, ಈವೆಂಟ್ಗಳನ್ನು ಹೊರಸೂಸಲು ಮತ್ತು ಈವೆಂಟ್ಗಳನ್ನು ಕೇಳಲು ಅನುಮತಿಸುವ ಮೂಲಕ ಈವೆಂಟ್-ಚಾಲಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ಸುಗಮಗೊಳಿಸುತ್ತದೆ.
- ಹೇಗೆ ಮಾಡುತ್ತದೆ fetch API ಭಿನ್ನವಾಗಿದೆ XMLHttpRequest?
- ದಿ fetch API ಆಧುನಿಕ ಪರ್ಯಾಯವಾಗಿದೆ XMLHttpRequest, ನೆಟ್ವರ್ಕ್ ವಿನಂತಿಗಳನ್ನು ಮಾಡಲು ಹೆಚ್ಚು ಶಕ್ತಿಯುತ ಮತ್ತು ಹೊಂದಿಕೊಳ್ಳುವ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ.
- ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಮೈಕ್ರೊಟಾಸ್ಕ್ಗಳು ಮತ್ತು ಮ್ಯಾಕ್ರೋಟಾಸ್ಕ್ಗಳು ಯಾವುವು?
- ಭರವಸೆಗಳಿಂದ ರಚಿಸಲ್ಪಟ್ಟಂತಹ ಮೈಕ್ರೋಟಾಸ್ಕ್ಗಳು ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯನ್ನು ಹೊಂದಿವೆ ಮತ್ತು ಮ್ಯಾಕ್ರೋಟಾಸ್ಕ್ಗಳ ಮೊದಲು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ, ಇದರಲ್ಲಿ ಸೆಟ್ಟೈಮ್ಔಟ್ ಮತ್ತು ಸೆಟ್ಇಂಟರ್ವಲ್ ಸೇರಿವೆ.
- ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳು ಏಕೆ ಹಿಂತಿರುಗುತ್ತವೆ undefined?
- ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳು ಹಿಂತಿರುಗುತ್ತವೆ undefined ಕಾರ್ಯವು ಸ್ಪಷ್ಟವಾಗಿ ಮೌಲ್ಯವನ್ನು ಹಿಂತಿರುಗಿಸದಿದ್ದರೆ ಅಥವಾ ಫಲಿತಾಂಶವನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗದಿದ್ದರೆ ಅಥವಾ ಸರಿಯಾಗಿ ನಿರ್ವಹಿಸದಿದ್ದರೆ.
- ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳಲ್ಲಿನ ದೋಷಗಳನ್ನು ನೀವು ಹೇಗೆ ನಿಭಾಯಿಸಬಹುದು?
- ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳಲ್ಲಿನ ದೋಷಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನಿಭಾಯಿಸಬಹುದು try/catch ಜೊತೆ ಬ್ಲಾಕ್ಗಳನ್ನು async/await ಅಥವಾ ಬಳಸುವ ಮೂಲಕ .catch() ಭರವಸೆಗಳೊಂದಿಗೆ ವಿಧಾನ.
- JavaScript ನಲ್ಲಿ ಈವೆಂಟ್ ಲೂಪ್ನ ಪಾತ್ರವೇನು?
- ಈವೆಂಟ್ ಲೂಪ್ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಲು, ಸರದಿಯಿಂದ ಕಾರ್ಯಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಮತ್ತು ಅವರು ಬರುವ ಕ್ರಮದಲ್ಲಿ ಅವುಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಕಾರಣವಾಗಿದೆ.
- ಅಸಮಕಾಲಿಕ JavaScript ಕೋಡ್ ಅನ್ನು ನೀವು ಹೇಗೆ ಡೀಬಗ್ ಮಾಡಬಹುದು?
- ಅಸಮಕಾಲಿಕ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ ಅನ್ನು ಡೀಬಗ್ ಮಾಡುವುದನ್ನು ಬ್ರೌಸರ್ ಡೆವಲಪರ್ ಪರಿಕರಗಳನ್ನು ಬಳಸಿ, ಬ್ರೇಕ್ಪಾಯಿಂಟ್ಗಳನ್ನು ಸೇರಿಸುವುದು ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಹರಿವನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಕನ್ಸೋಲ್ ಲಾಗ್ಗಳನ್ನು ಬಳಸಿ ಮಾಡಬಹುದು.
ಅಸಿಂಕ್ರೊನಸ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಅಂತಿಮ ಆಲೋಚನೆಗಳು
JavaScript ನಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಪ್ರಾಮಿಸಸ್ ಮತ್ತು ಅಸಿಂಕ್/ನಿರೀಕ್ಷೆಯ ಬಗ್ಗೆ ಉತ್ತಮ ತಿಳುವಳಿಕೆ ಅಗತ್ಯವಿದೆ. ಈ ಪರಿಕರಗಳನ್ನು ಬಳಸುವ ಮೂಲಕ, ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳು ಪೂರ್ಣಗೊಂಡ ನಂತರ ಕಾರ್ಯಗಳು ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶಗಳನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಎಂದು ಡೆವಲಪರ್ಗಳು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು. ದೋಷಗಳನ್ನು ಸೂಕ್ತವಾಗಿ ನಿರ್ವಹಿಸುವುದು ಮತ್ತು ಈವೆಂಟ್ ಲೂಪ್ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಹೇಗೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಸಹ ಮುಖ್ಯವಾಗಿದೆ. ಈ ತಂತ್ರಗಳೊಂದಿಗೆ, ಅಸಮಕಾಲಿಕ ಕರೆಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಹೆಚ್ಚು ನೇರ ಮತ್ತು ಊಹಿಸಬಹುದಾದಂತಾಗುತ್ತದೆ, ಇದು ಹೆಚ್ಚು ದೃಢವಾದ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಕೋಡ್ಗೆ ಕಾರಣವಾಗುತ್ತದೆ.