14 KiB
ਕੋਡ ਰੀਫੈਕਟਰੀੰਗ ਅਤੇ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਅਸਾਈਨਮੈਂਟ
ਸਿੱਖਣ ਦੇ ਉਦੇਸ਼
ਇਸ ਅਸਾਈਨਮੈਂਟ ਨੂੰ ਪੂਰਾ ਕਰਕੇ, ਤੁਸੀਂ ਉਹ ਮੁੱਖ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਦੱਖਣਾਂ ਦਾ ਅਭਿਆਸ ਕਰੋਗੇ ਜੋ ਪੇਸ਼ੇਵਰ ਡਿਵੈਲਪਰ ਹਰ ਰੋਜ਼ ਵਰਤਦੇ ਹਨ। ਤੁਸੀਂ ਕੋਡ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਗਠਿਤ ਕਰਨਾ, ਅਬਸਟਰੈਕਸ਼ਨ ਰਾਹੀਂ ਦੁਹਰਾਈ ਨੂੰ ਘਟਾਉਣਾ, ਅਤੇ ਭਵਿੱਖ ਦੇ ਡਿਵੈਲਪਰਾਂ (ਤੁਹਾਡੇ ਸਮੇਤ!) ਲਈ ਆਪਣੇ ਕੰਮ ਨੂੰ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਸਿੱਖੋਗੇ।
ਸਾਫ਼ ਅਤੇ ਚੰਗੀ ਤਰ੍ਹਾਂ ਦਸਤਾਵੇਜ਼ੀਕ੍ਰਿਤ ਕੋਡ ਅਸਲ ਦੁਨੀਆ ਦੇ ਵੈੱਬ ਵਿਕਾਸ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਬਹੁਤ ਜ਼ਰੂਰੀ ਹੈ ਜਿੱਥੇ ਕਈ ਡਿਵੈਲਪਰ ਮਿਲ ਕੇ ਕੰਮ ਕਰਦੇ ਹਨ ਅਤੇ ਕੋਡਬੇਸ ਸਮੇਂ ਦੇ ਨਾਲ ਵਿਕਸਿਤ ਹੁੰਦੇ ਹਨ।
ਅਸਾਈਨਮੈਂਟ ਦਾ ਜਾਇਜ਼ਾ
ਤੁਹਾਡੇ ਬੈਂਕਿੰਗ ਐਪ ਦੇ app.js ਫਾਈਲ ਵਿੱਚ ਲੌਗਇਨ, ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਅਤੇ ਡੈਸ਼ਬੋਰਡ ਫੰਕਸ਼ਨਲਿਟੀ ਦੇ ਨਾਲ ਕਾਫ਼ੀ ਵਾਧਾ ਹੋ ਗਿਆ ਹੈ। ਹੁਣ ਸਮਾਂ ਹੈ ਕਿ ਇਸ ਕੋਡ ਨੂੰ ਪੇਸ਼ੇਵਰ ਵਿਕਾਸ ਅਭਿਆਸਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਰੀਫੈਕਟਰ ਕੀਤਾ ਜਾਵੇ ਤਾਂ ਜੋ ਪੜ੍ਹਨ ਯੋਗਤਾ, ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਗਠਨ ਅਤੇ ਦੁਹਰਾਈ ਨੂੰ ਘਟਾਇਆ ਜਾ ਸਕੇ।
ਹਦਾਇਤਾਂ
ਤੁਹਾਡੇ ਮੌਜੂਦਾ app.js ਕੋਡ ਨੂੰ ਤਿੰਨ ਮੁੱਖ ਰੀਫੈਕਟਰੀੰਗ ਤਕਨੀਕਾਂ ਨੂੰ ਲਾਗੂ ਕਰਕੇ ਬਦਲੋ:
1. ਕਨਫਿਗਰੇਸ਼ਨ ਕਾਂਸਟੈਂਟਸ ਨੂੰ ਅਲੱਗ ਕਰੋ
ਟਾਸਕ: ਆਪਣੀ ਫਾਈਲ ਦੇ ਸਿਰੇ 'ਤੇ ਇੱਕ ਕਨਫਿਗਰੇਸ਼ਨ ਸੈਕਸ਼ਨ ਬਣਾਓ ਜਿਸ ਵਿੱਚ ਦੁਬਾਰਾ ਵਰਤਣ ਯੋਗ ਕਾਂਸਟੈਂਟਸ ਹੋਣ।
ਲਾਗੂ ਕਰਨ ਦੀ ਸਲਾਹ:
- ਸਰਵਰ API ਬੇਸ URL ਨੂੰ ਅਲੱਗ ਕਰੋ (ਜੋ ਮੌਜੂਦਾ ਸਮੇਂ ਵਿੱਚ ਕਈ ਥਾਵਾਂ 'ਤੇ ਹਾਰਡਕੋਡ ਕੀਤਾ ਗਿਆ ਹੈ)
- ਉਹ ਐਰਰ ਮੈਸੇਜ ਕਾਂਸਟੈਂਟ ਬਣਾਓ ਜੋ ਕਈ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ
- ਉਹ ਰੂਟ ਪਾਥ ਅਤੇ ਐਲੀਮੈਂਟ ID ਨੂੰ ਅਲੱਗ ਕਰਨ ਬਾਰੇ ਸੋਚੋ ਜੋ ਵਾਰ-ਵਾਰ ਵਰਤੇ ਜਾਂਦੇ ਹਨ
ਉਦਾਹਰਨ ਸਟ੍ਰਕਚਰ:
// Configuration constants
const API_BASE_URL = 'http://localhost:5000/api';
const ROUTES = {
LOGIN: '/login',
DASHBOARD: '/dashboard'
};
2. ਇੱਕ ਯੂਨਿਫਾਇਡ ਰੀਕਵੈਸਟ ਫੰਕਸ਼ਨ ਬਣਾਓ
ਟਾਸਕ: ਇੱਕ ਦੁਬਾਰਾ ਵਰਤਣ ਯੋਗ sendRequest() ਫੰਕਸ਼ਨ ਬਣਾਓ ਜੋ createAccount() ਅਤੇ getAccount() ਦੇ ਵਿਚਕਾਰ ਦੁਹਰਾਈ ਵਾਲੇ ਕੋਡ ਨੂੰ ਖਤਮ ਕਰੇ।
ਜਰੂਰਤਾਂ:
- GET ਅਤੇ POST ਦੋਨੋ ਰੀਕਵੈਸਟਸ ਨੂੰ ਹੈਂਡਲ ਕਰੋ
- ਸਹੀ ਤਰ੍ਹਾਂ ਐਰਰ ਹੈਂਡਲਿੰਗ ਸ਼ਾਮਲ ਕਰੋ
- ਵੱਖ-ਵੱਖ URL ਐਂਡਪੌਇੰਟਸ ਦਾ ਸਮਰਥਨ ਕਰੋ
- ਵਿਕਲਪਿਕ ਰੀਕਵੈਸਟ ਬਾਡੀ ਡਾਟਾ ਨੂੰ ਸਵੀਕਾਰ ਕਰੋ
ਫੰਕਸ਼ਨ ਸਿਗਨੇਚਰ ਦੀ ਸਲਾਹ:
async function sendRequest(endpoint, method = 'GET', data = null) {
// Your implementation here
}
3. ਪੇਸ਼ੇਵਰ ਕੋਡ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਸ਼ਾਮਲ ਕਰੋ
ਟਾਸਕ: ਆਪਣੇ ਕੋਡ ਨੂੰ ਸਪਸ਼ਟ, ਮਦਦਗਾਰ ਟਿੱਪਣੀਆਂ ਨਾਲ ਦਸਤਾਵੇਜ਼ੀਕ੍ਰਿਤ ਕਰੋ ਜੋ ਤੁਹਾਡੇ ਤਰਕ ਦੇ "ਕਿਉਂ" ਨੂੰ ਸਮਝਾਉਂਦੀਆਂ ਹਨ।
ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਮਿਆਰ:
- ਫੰਕਸ਼ਨ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਸ਼ਾਮਲ ਕਰੋ ਜੋ ਉਦੇਸ਼, ਪੈਰਾਮੀਟਰ ਅਤੇ ਵਾਪਸੀ ਮੁੱਲ ਨੂੰ ਸਮਝਾਉਂਦਾ ਹੈ
- ਜਟਿਲ ਤਰਕ ਜਾਂ ਕਾਰੋਬਾਰੀ ਨਿਯਮਾਂ ਲਈ ਇਨਲਾਈਨ ਟਿੱਪਣੀਆਂ ਸ਼ਾਮਲ ਕਰੋ
- ਸੰਬੰਧਿਤ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸੈਕਸ਼ਨ ਹੈਡਰ ਨਾਲ ਇਕੱਠੇ ਕਰੋ
- ਕੋਈ ਵੀ ਅਸਪਸ਼ਟ ਕੋਡ ਪੈਟਰਨ ਜਾਂ ਬ੍ਰਾਊਜ਼ਰ-ਵਿਸ਼ੇਸ਼ ਵਰਕਅਰਾਊਂਡ ਨੂੰ ਸਮਝਾਓ
ਉਦਾਹਰਨ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਸ਼ੈਲੀ:
/**
* Authenticates user and redirects to dashboard
* @param {Event} event - Form submission event
* @returns {Promise<void>} - Resolves when login process completes
*/
async function login(event) {
// Prevent default form submission to handle with JavaScript
event.preventDefault();
// Your implementation...
}
ਸਫਲਤਾ ਮਾਪਦੰਡ
ਤੁਹਾਡਾ ਰੀਫੈਕਟਰੀਡ ਕੋਡ ਇਹ ਪੇਸ਼ੇਵਰ ਵਿਕਾਸ ਅਭਿਆਸਾਂ ਨੂੰ ਦਰਸਾਉਣਾ ਚਾਹੀਦਾ ਹੈ:
ਸ਼ਾਨਦਾਰ ਲਾਗੂਕਰਨ
- ✅ ਕਾਂਸਟੈਂਟਸ: ਸਾਰੇ ਮੈਜਿਕ ਸਟ੍ਰਿੰਗਸ ਅਤੇ URLs ਨੂੰ ਸਪਸ਼ਟ ਨਾਮ ਵਾਲੇ ਕਾਂਸਟੈਂਟਸ ਵਿੱਚ ਅਲੱਗ ਕੀਤਾ ਗਿਆ ਹੈ
- ✅ DRY ਪ੍ਰਿੰਸਿਪਲ: ਆਮ ਰੀਕਵੈਸਟ ਤਰਕ ਨੂੰ ਇੱਕ ਦੁਬਾਰਾ ਵਰਤਣ ਯੋਗ
sendRequest()ਫੰਕਸ਼ਨ ਵਿੱਚ ਇਕੱਠਾ ਕੀਤਾ ਗਿਆ ਹੈ - ✅ ਦਸਤਾਵੇਜ਼ੀਕਰਨ: ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਸਪਸ਼ਟ JSDoc ਟਿੱਪਣੀਆਂ ਹਨ ਜੋ ਉਦੇਸ਼ ਅਤੇ ਪੈਰਾਮੀਟਰ ਨੂੰ ਸਮਝਾਉਂਦੀਆਂ ਹਨ
- ✅ ਸੰਗਠਨ: ਕੋਡ ਨੂੰ ਤਰਕਸੰਗਤ ਤੌਰ 'ਤੇ ਸੈਕਸ਼ਨ ਹੈਡਰ ਅਤੇ ਸਥਿਰ ਫਾਰਮੈਟਿੰਗ ਨਾਲ ਗਰੁੱਪ ਕੀਤਾ ਗਿਆ ਹੈ
- ✅ ਐਰਰ ਹੈਂਡਲਿੰਗ: ਨਵੇਂ ਰੀਕਵੈਸਟ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੁਧਾਰਿਆ ਐਰਰ ਹੈਂਡਲਿੰਗ
ਯੋਗ ਲਾਗੂਕਰਨ
- ✅ ਕਾਂਸਟੈਂਟਸ: ਜ਼ਿਆਦਾਤਰ ਦੁਹਰਾਏ ਗਏ ਮੁੱਲ ਅਲੱਗ ਕੀਤੇ ਗਏ ਹਨ, ਕੁਝ ਛੋਟੇ ਹਾਰਡਕੋਡ ਕੀਤੇ ਮੁੱਲ ਬਾਕੀ ਹਨ
- ✅ ਫੈਕਟਰਾਈਜ਼ੇਸ਼ਨ: ਬੁਨਿਆਦੀ
sendRequest()ਫੰਕਸ਼ਨ ਬਣਾਇਆ ਗਿਆ ਹੈ ਪਰ ਇਹ ਸਾਰੇ ਐਜ ਕੇਸਾਂ ਨੂੰ ਹੈਂਡਲ ਨਹੀਂ ਕਰਦਾ - ✅ ਟਿੱਪਣੀਆਂ: ਮੁੱਖ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਦਸਤਾਵੇਜ਼ੀਕ੍ਰਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਹਾਲਾਂਕਿ ਕੁਝ ਵਿਆਖਿਆਵਾਂ ਹੋਰ ਪੂਰੀ ਹੋ ਸਕਦੀਆਂ ਹਨ
- ✅ ਪੜ੍ਹਨ ਯੋਗਤਾ: ਕੋਡ ਆਮ ਤੌਰ 'ਤੇ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਗਠਿਤ ਹੈ, ਕੁਝ ਖੇਤਰਾਂ ਵਿੱਚ ਸੁਧਾਰ ਦੀ ਜ਼ਰੂਰਤ ਹੈ
ਸੁਧਾਰ ਦੀ ਜ਼ਰੂਰਤ
- ❌ ਕਾਂਸਟੈਂਟਸ: ਕਈ ਮੈਜਿਕ ਸਟ੍ਰਿੰਗਸ ਅਤੇ URLs ਫਾਈਲ ਵਿੱਚ ਹਾਰਡਕੋਡ ਕੀਤੇ ਰਹਿੰਦੇ ਹਨ
- ❌ ਦੁਹਰਾਈ: ਸਮਾਨ ਫੰਕਸ਼ਨਾਂ ਦੇ ਵਿਚਕਾਰ ਕਾਫ਼ੀ ਕੋਡ ਦੁਹਰਾਈ ਰਹਿੰਦੀ ਹੈ
- ❌ ਦਸਤਾਵੇਜ਼ੀਕਰਨ: ਟਿੱਪਣੀਆਂ ਗੁੰਮ ਜਾਂ ਅਸਪਸ਼ਟ ਹਨ ਜੋ ਕੋਡ ਦੇ ਉਦੇਸ਼ ਨੂੰ ਨਹੀਂ ਸਮਝਾਉਂਦੀਆਂ
- ❌ ਸੰਗਠਨ: ਕੋਡ ਵਿੱਚ ਸਪਸ਼ਟ ਸਟ੍ਰਕਚਰ ਅਤੇ ਤਰਕਸੰਗਤ ਗਰੁੱਪਿੰਗ ਦੀ ਘਾਟ ਹੈ
ਆਪਣੇ ਰੀਫੈਕਟਰੀਡ ਕੋਡ ਦੀ ਜਾਂਚ
ਰੀਫੈਕਟਰੀ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡਾ ਬੈਂਕਿੰਗ ਐਪ ਅਜੇ ਵੀ ਸਹੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ:
- ਸਾਰੇ ਯੂਜ਼ਰ ਫਲੋਜ਼ ਦੀ ਜਾਂਚ ਕਰੋ: ਰਜਿਸਟ੍ਰੇਸ਼ਨ, ਲੌਗਇਨ, ਡੈਸ਼ਬੋਰਡ ਡਿਸਪਲੇਅ ਅਤੇ ਐਰਰ ਹੈਂਡਲਿੰਗ
- API ਕਾਲਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ: ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡਾ
sendRequest()ਫੰਕਸ਼ਨ ਖਾਤਾ ਬਣਾਉਣ ਅਤੇ ਪ੍ਰਾਪਤੀ ਦੋਨੋ ਲਈ ਕੰਮ ਕਰਦਾ ਹੈ - ਐਰਰ ਸਥਿਤੀਆਂ ਦੀ ਜਾਂਚ ਕਰੋ: ਗਲਤ ਪ੍ਰਮਾਣ ਪੱਤਰ ਅਤੇ ਨੈਟਵਰਕ ਐਰਰ ਨਾਲ ਟੈਸਟ ਕਰੋ
- ਕੰਸੋਲ ਆਉਟਪੁੱਟ ਦੀ ਸਮੀਖਿਆ ਕਰੋ: ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਰੀਫੈਕਟਰੀ ਕਰਨ ਦੌਰਾਨ ਕੋਈ ਨਵਾਂ ਐਰਰ ਪੈਦਾ ਨਹੀਂ ਹੋਇਆ
ਜਮ੍ਹਾਂ ਕਰਨ ਦੇ ਨਿਯਮ
ਆਪਣੀ ਰੀਫੈਕਟਰੀਡ app.js ਫਾਈਲ ਜਮ੍ਹਾਂ ਕਰੋ:
- ਵੱਖ-ਵੱਖ ਫੰਕਸ਼ਨਲਿਟੀ ਨੂੰ ਸੰਗਠਿਤ ਕਰਨ ਵਾਲੇ ਸਪਸ਼ਟ ਸੈਕਸ਼ਨ ਹੈਡਰ
- ਸਥਿਰ ਕੋਡ ਫਾਰਮੈਟਿੰਗ ਅਤੇ ਇੰਡੈਂਟੇਸ਼ਨ
- ਸਾਰੇ ਫੰਕਸ਼ਨਾਂ ਲਈ ਪੂਰੀ JSDoc ਦਸਤਾਵੇਜ਼ੀਕਰਨ
- ਸਿਰੇ 'ਤੇ ਇੱਕ ਛੋਟੀ ਟਿੱਪਣੀ ਜੋ ਤੁਹਾਡੇ ਰੀਫੈਕਟਰੀੰਗ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਨੂੰ ਸਮਝਾਉਂਦੀ ਹੈ
ਬੋਨਸ ਚੈਲੈਂਜ: ਇੱਕ ਸਧਾਰਨ ਕੋਡ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਫਾਈਲ (CODE_STRUCTURE.md) ਬਣਾਓ ਜੋ ਤੁਹਾਡੇ ਐਪ ਦੀ ਆਰਕੀਟੈਕਚਰ ਅਤੇ ਵੱਖ-ਵੱਖ ਫੰਕਸ਼ਨਾਂ ਦੇ ਇਕੱਠੇ ਕੰਮ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਸਮਝਾਉਂਦੀ ਹੈ।
ਅਸਲ ਦੁਨੀਆ ਨਾਲ ਸੰਬੰਧ
ਇਹ ਅਸਾਈਨਮੈਂਟ ਉਸ ਤਰ੍ਹਾਂ ਦੇ ਕੋਡ ਰੱਖ-ਰਖਾਅ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ ਜੋ ਪੇਸ਼ੇਵਰ ਡਿਵੈਲਪਰ ਨਿਯਮਿਤ ਤੌਰ 'ਤੇ ਕਰਦੇ ਹਨ। ਉਦਯੋਗ ਸੈਟਿੰਗਾਂ ਵਿੱਚ:
- ਕੋਡ ਸਮੀਖਿਆ ਪੜ੍ਹਨ ਯੋਗਤਾ ਅਤੇ ਸੰਗਠਨ ਦੀ ਜਾਂਚ ਕਰਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਇਸ ਅਸਾਈਨਮੈਂਟ
- ਤਕਨੀਕੀ ਕਰਜ਼ਾ ਜਮ੍ਹਾਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਕੋਡ ਨੂੰ ਨਿਯਮਿਤ ਤੌਰ 'ਤੇ ਰੀਫੈਕਟਰੀ ਅਤੇ ਦਸਤਾਵੇਜ਼ੀਕ੍ਰਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ
- ਟੀਮ ਸਹਿਯੋਗ ਸਪਸ਼ਟ, ਚੰਗੀ ਤਰ੍ਹਾਂ ਦਸਤਾਵੇਜ਼ੀਕ੍ਰਿਤ ਕੋਡ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਜੋ ਨਵੇਂ ਟੀਮ ਮੈਂਬਰ ਸਮਝ ਸਕਦੇ ਹਨ
- ਬੱਗ ਫਿਕਸ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਗਠਿਤ ਕੋਡਬੇਸ ਵਿੱਚ ਸਹੀ ਅਬਸਟਰੈਕਸ਼ਨ ਦੇ ਨਾਲ ਕਾਫ਼ੀ ਆਸਾਨ ਹੁੰਦੇ ਹਨ
ਤੁਹਾਨੂੰ ਇੱਥੇ ਜੋ ਦੱਖਣਾਂ ਦਾ ਅਭਿਆਸ ਕਰਨਾ ਪੈ ਰਿਹਾ ਹੈ - ਕਾਂਸਟੈਂਟਸ ਨੂੰ ਅਲੱਗ ਕਰਨਾ, ਦੁਹਰਾਈ ਨੂੰ ਖਤਮ ਕਰਨਾ, ਅਤੇ ਸਪਸ਼ਟ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਲਿਖਣਾ - ਪੇਸ਼ੇਵਰ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਲਈ ਬੁਨਿਆਦੀ ਹਨ।
ਅਸਵੀਕਰਤਾ:
ਇਹ ਦਸਤਾਵੇਜ਼ ਨੂੰ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦਾ ਯਤਨ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚਤਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।