ਪੇਸ਼ੇਵਰ ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਰਾਂ ਦਾ ਗੁਪਤ ਵਰਕਫਲੋ
ਜ਼ਿਆਦਾਤਰ ਲੋਕ ਸੋਚਦੇ ਹਨ ਕਿ ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਦਾ ਮਤਲਬ ਸਿਰਫ਼ ਕੋਡ ਟਾਈਪ ਕਰਨਾ ਹੈ। ਉਹ ਕਲਪਨਾ ਕਰਦੇ ਹਨ ਕਿ ਕੋਈ ਹਨੇਰੀ ਸਕ੍ਰੀਨ 'ਤੇ ਤੇਜ਼ੀ ਨਾਲ ਟਾਈਪ ਕਰ ਰਿਹਾ ਹੈ। ਇਹ ਕੰਮ ਦਾ ਸਿਰਫ਼ 20% ਹਿੱਸਾ ਹੈ।
ਬਾਕੀ 80% ਅਦਿੱਖ ਹੁੰਦਾ ਹੈ। ਇਹ ਇੱਕ ਲਾਈਨ ਵੀ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ ਹੁੰਦਾ ਹੈ। ਇਹੀ ਕੰਮ ਮਾਹਰਾਂ ਨੂੰ ਉਹਨਾਂ ਲੋਕਾਂ ਤੋਂ ਵੱਖ ਕਰਦਾ ਹੈ ਜੋ ਸਾਰਾ ਦਿਨ ਆਪਣੀਆਂ ਹੀ ਗਲਤੀਆਂ ਸੁਧਾਰਨ ਵਿੱਚ ਬਿਤਾਉਂਦੇ ਹਨ।
ਸੀਨੀਅਰ ਡਿਵੈਲਪਰ ਆਪਣਾ 20% ਤੋਂ 40% ਸਮਾਂ ਯੋਜਨਾਬੰਦੀ (planning) ਵਿੱਚ ਬਿਤਾਉਂਦੇ ਹਨ। ਇਹ ਕੰਮ ਨੂੰ ਟਾਲਣਾ ਨਹੀਂ ਹੈ। ਇਹ ਜੋਖਮ ਪ੍ਰਬੰਧਨ (risk management) ਹੈ। ਇੱਕ ਵਾਰ ਲਾਈਵ ਹੋਣ ਤੋਂ ਬਾਅਦ ਕੋਡ ਵਿੱਚ ਬਦਲਾਅ ਕਰਨਾ ਮਹਿੰਗਾ ਪੈਂਦਾ ਹੈ।
ਇੱਕ ਮਜ਼ਬੂਤ ਯੋਜਨਾਬੰਦੀ ਦਾ ਪੜਾਅ ਇਸ ਤਰ੍ਹਾਂ ਹੁੰਦਾ ਹੈ:
• ਸਮੱਸਿਆ ਨੂੰ ਆਪਣੇ ਸ਼ਬਦਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਦੱਸੋ। ਜੇਕਰ ਤੁਸੀਂ ਇਸਨੂੰ ਸਰਲ ਤਰੀਕੇ ਨਾਲ ਨਹੀਂ ਸਮਝਾ ਸਕਦੇ, ਤਾਂ ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਤੁਸੀਂ ਅਜੇ ਤੱਕ ਇਸਨੂੰ ਸਮਝੇ ਨਹੀਂ ਹੋ। • ਸੀਮਾਵਾਂ (constraints) ਦੀ ਪਛਾਣ ਕਰੋ। ਸਪੀਡ, ਡੈੱਡਲਾਈਨਾਂ ਅਤੇ ਮੌਜੂਦਾ ਸਿਸਟਮਾਂ ਬਾਰੇ ਸੋਚੋ। • ਹੱਲ ਦਾ ਇੱਕ ਖਾਕਾ ਤਿਆਰ ਕਰੋ। ਡਾਟਾ ਕਿਵੇਂ ਵਹਿੰਦਾ ਹੈ ਇਹ ਦੇਖਣ ਲਈ ਬੁਲੇਟ ਪੁਆਇੰਟਾਂ ਜਾਂ ਸਰਲ ਡਾਇਗ੍ਰਾਮ ਦੀ ਵਰਤੋਂ ਕਰੋ। • ਅਣਜਾਣ ਚੀਜ਼ਾਂ ਦੀ ਸੂਚੀ ਬਣਾਓ। ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਪਤਾ ਲਗਾਓ ਕਿ ਤੁਹਾਨੂੰ ਕਿਸ ਚੀਜ਼ 'ਤੇ ਖੋਜ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
ਪੇਸ਼ੇਵਰ ਡਿਵੈਲਪਰ ਡਾਕੂਮੈਂਟੇਸ਼ਨ (documentation) ਪੜ੍ਹਨ ਵਿੱਚ ਵੀ ਬਹੁਤ ਸਮਾਂ ਬਿਤਾਉਂਦੇ ਹਨ। ਉਹ ਫੋਰਮਾਂ 'ਤੇ ਸਿਰਫ਼ ਜਵਾਬਾਂ ਨੂੰ ਉੱਪਰ-ਉੱਪਰੋਂ ਨਹੀਂ ਪੜ੍ਹਦੇ। ਉਹ ਅਧਿਕਾਰਤ API ਰੈਫਰੈਂਸਾਂ ਅਤੇ ਸੋਰਸ ਕੋਡ ਨੂੰ ਪੜ੍ਹਦੇ ਹਨ। ਇਹ ਉਹਨਾਂ ਨੂੰ ਪੁਰਾਣੇ, ਖਰਾਬ ਤਰੀਕਿਆਂ ਤੋਂ ਬਚਣ ਅਤੇ ਉਹਨਾਂ edge cases ਨੂੰ ਲੱਭਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਜੋ ਪ੍ਰੋਡਕਸ਼ਨ (production) ਵਿੱਚ ਬੱਗ (bugs) ਪੈਦਾ ਕਰਦੇ ਹਨ।
ਇੱਕ ਵੱਡਾ ਕੰਮ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਇਹਨਾਂ ਆਦਤਾਂ ਨੂੰ ਅਪਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ:
• ਮੌਜੂਦਾ ਹੱਲਾਂ ਦਾ ਜਾਇਜ਼ਾ ਲਓ। ਉਹ ਚੀਜ਼ ਨਾ ਬਣਾਓ ਜੋ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ। • ਤਬਾਦਲੇ (trade-offs) ਦਾ ਮੁਲਾਂਕਣ ਕਰੋ। ਫੈਸਲਾ ਕਰੋ ਕਿ ਕਿਹੜਾ ਟੂਲ ਤੁਹਾਡੀਆਂ ਖਾਸ ਲੋੜਾਂ ਦੇ ਅਨੁਕੂਲ ਹੈ। • ਜੋਖਮ ਵਾਲੇ ਹਿੱਸਿਆਂ ਦਾ ਪ੍ਰੋਟੋਟਾਈਪ (prototype) ਬਣਾਓ। ਇਹ ਦੇਖਣ ਲਈ ਕਿ ਕੋਈ ਵਿਚਾਰ ਕੰਮ ਕਰਦਾ ਹੈ ਜਾਂ ਨਹੀਂ, ਇੱਕ ਛੋਟਾ ਟੈਸਟ ਸਕ੍ਰਿਪਟ ਲਿਖੋ। • ਸਾਥੀਆਂ ਤੋਂ ਪੁੱਛੋ। ਪੰਜ ਮਿੰਟ ਦੀ ਗੱਲਬਾਤ ਕੰਮ ਦੇ ਕਈ ਘੰਟੇ ਬਚਾ ਸਕਦੀ ਹੈ।
ਜਦੋਂ ਤੁਸੀਂ ਅੰਤ ਵਿੱਚ ਕੋਡ ਲਿਖਦੇ ਹੋ, ਤਾਂ ਆਪਣੇ ਪਾਠਕਾਂ ਨੂੰ ਯਾਦ ਰੱਖੋ। ਤੁਹਾਡਾ ਪਾਠਕ ਉਹ ਅਗਲਾ ਵਿਅਕਤੀ ਹੈ ਜੋ ਤੁਹਾਡੇ ਕੰਮ ਨੂੰ ਪੜ੍ਹੇਗਾ। ਇਹ ਵਿਅਕਤੀ ਛੇ ਮਹੀਨਿਆਂ ਬਾਅਦ ਤੁਸੀਂ ਖੁਦ ਵੀ ਹੋ ਸਕਦੇ ਹੋ।
ਅਜਿਹਾ ਕੋਡ ਲਿਖੋ ਜੋ ਸਾਫ਼ (clean) ਰਹੇ:
• ਸਹੀ ਨਾਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ। "data" ਵਰਗੇ ਆਮ ਨਾਮਾਂ ਤੋਂ ਬਚੋ। ਇਸਦੀ ਬਜਾਏ "pendingInvoices" ਦੀ ਵਰਤੋਂ ਕਰੋ। • ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਛੋਟਾ ਰੱਖੋ। ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਕੰਮ ਚੰਗੀ ਤਰ੍ਹਾਂ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। • ਅਜਿਹੇ ਕਮੈਂਟਸ ਲਿਖੋ ਜੋ "ਕਿਉਂ" ਦੱਸਣ, ਨਾ ਕਿ "ਕੀ"। ਕੋਡ ਦੱਸਦਾ ਹੈ ਕਿ ਉਹ ਕੀ ਕਰ ਰਿਹਾ ਹੈ। ਕਮੈਂਟਸ ਨੂੰ ਪਿੱਛੇ ਦੇ ਤਰਕ (reasoning) ਦੀ ਵਿਆਖਿਆ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। • ਟੀਮ ਦੇ ਪੈਟਰਨਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ। ਨਿੱਜੀ ਪਸੰਦ ਨਾਲੋਂ ਇਕਸਾਰਤਾ (consistency) ਵਧੇਰੇ ਮਹੱਤਵਪੂਰਨ ਹੈ।
ਕੋਡ ਰਿਵਿਊ (code reviews) ਵੀ ਬਹੁਤ ਜ਼ਰੂਰੀ ਹਨ। ਇਹ ਸਿਰਫ਼ ਇੱਕ ਰਸਮੀ ਕਾਰਵਾਈ ਨਹੀਂ ਹਨ। ਇਹ ਗਿਆਨ ਸਾਂਝਾ ਕਰਨ ਅਤੇ ਜੋਖਮਾਂ ਨੂੰ ਫੜਨ ਦਾ ਇੱਕ ਤਰੀਕਾ ਹਨ। ਇੱਕ ਚੰਗਾ ਰਿਵਿਊ ਸਿਰਫ਼ ਸਿੰਟੈਕਸ (syntax) ਦੀ ਬਜਾਏ ਇਰਾਦੇ (intent) ਅਤੇ ਤਰਕ (logic) 'ਤੇ ਕੇਂਦਰਿਤ ਹੁੰਦਾ ਹੈ।
ਅਸਲ ਇੰਜੀਨੀਅਰਿੰਗ ਸੋਚਣ, ਪੜ੍ਹਨ ਅਤੇ ਖੋਜ ਕਰਨ ਵਿੱਚ ਹੁੰਦੀ ਹੈ। ਟਾਈਪ ਕਰਨਾ ਤਾਂ ਸਿਰਫ਼ ਆਖਰੀ ਕਦਮ ਹੈ।
ਸਰੋਤ: https://dev.to/lui_were/the-hidden-workflow-of-professional-software-developers-1d74