ਮੇਰੇ README ਨੇ 80 ਟੂਲ ਦੱਸੇ ਸਨ। ਮੇਰੇ ਕੋਡ ਵਿੱਚ 96 ਸਨ। ਹਫ਼ਤਿਆਂ ਤੱਕ ਕਿਸੇ ਨੇ ਧਿਆਨ ਨਹੀਂ ਦਿੱਤਾ।

ਮੈਂ ਇੱਕ open-source ਪ੍ਰੋਜੈਕਟ ਚਲਾਉਂਦਾ ਹਾਂ। ਇਹ AI agents ਲਈ browser automation ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।

ਮੇਰੇ README ਵਿੱਚ ਲਿਖਿਆ ਸੀ ਕਿ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ 80 ਟੂਲ ਹਨ। ਮੈਂ ਉਹ ਨੰਬਰ tagline, navigation, ਅਤੇ social media text ਵਿੱਚ ਪਾਇਆ ਸੀ।

ਪਿਛਲੇ ਹਫ਼ਤੇ ਮੈਂ ਇੱਕ audit ਕੀਤਾ। ਮੈਂ ਆਪਣੇ README ਦੀ ਤੁਲਨਾ ਆਪਣੇ ਅਸਲ ਕੋਡ ਨਾਲ ਕੀਤੀ।

ਕੋਡ ਵਿੱਚ 96 ਟੂਲ ਦਰਜ ਸਨ।

ਮੇਰੀ ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਤਿੰਨ ਵੱਖ-ਵੱਖ ਸੱਚਾਈਆਂ ਸਨ:

  • ਮਾਰਕੀਟਿੰਗ ਨੰਬਰ: 80
  • ਦਸਤਾਵੇਜ਼ੀ (documented) ਸੂਚੀ: 83
  • ਅਸਲ ਕੋਡ: 96

ਤੇਰਾਂ ਟੂਲ ਪੂਰੀ ਤਰ੍ਹਾਂ undocumented ਸਨ। ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਪਤਾ ਹੀ ਨਹੀਂ ਸੀ ਕਿ ਉਹ ਮੌਜੂਦ ਹਨ।

ਸਭ ਤੋਂ ਖ਼ਤਰਨਾਕ ਹਿੱਸਾ ਉਹ ਅੰਤਰ (gap) ਸੀ। ਉਹਨਾਂ undocumented ਟੂਲਾਂ ਵਿੱਚੋਂ ਚਾਰ ਉੱਚ-ਪੱਧਰੀ (high-level) ਸਿਸਟਮ ਟੂਲ ਸਨ। ਉਹ ਕੀਬੋਰਡ ਅਤੇ ਮਾਊਸ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ OS-level events ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਨ। ਇਹ ਮੇਰੇ ਪ੍ਰੋਜੈਕਟ ਦਾ ਸਭ ਤੋਂ ਸ਼ਕਤੀਸ਼ਾਲੀ ਅਤੇ ਸੰਵੇਦਨਸ਼ੀਲ ਹਿੱਸਾ ਹੈ।

ਇਸਨੇ ਮੈਨੂੰ documentation drift ਬਾਰੇ ਇੱਕ ਸਖ਼ਤ ਸਬਕ ਸਿਖਾਇਆ।

Drift ਅਚਾਨਕ ਨਹੀਂ ਹੁੰਦਾ। ਇਹ ਇੱਕ ਪੱਖਪਾਤ ਹੈ। ਤੁਸੀਂ ਸੌਖੀਆਂ ਅਤੇ ਉਦਾਸੀਨ ਚੀਜ਼ਾਂ ਦਾ ਦਸਤਾਵੇਜ਼ ਬਣਾਉਂਦੇ ਹੋ। ਤੁਸੀਂ ਜਲਦੀ ਵਿੱਚ ਭੇਜੇ ਗਏ ਨਵੇਂ, ਸ਼ਕਤੀਸ਼ਾਲੀ, ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲ ਟੂਲਸ ਦਾ ਦਸਤਾਵੇਜ਼ ਬਣਾਉਣਾ ਭੁੱਲ ਜਾਂਦੇ ਹੋ।

ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ ਪ੍ਰੋਜੈਕਟ ਦੇ ਸਭ ਤੋਂ ਜੋਖਮ ਭਰੇ ਹਿੱਸੇ ਨੂੰ ਲੱਭਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ docs ਨਾ ਪੜ੍ਹੋ। docs ਅਤੇ ਕੋਡ ਦੇ ਵਿਚਕਾਰਲੇ ਅੰਤਰ (gap) ਨੂੰ ਦੇਖੋ।

ਮੈਂ ਨੰਬਰ ਨੂੰ ਠੀਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਉਹ ਇੱਕ ਗਲਤੀ ਸੀ। ਨੰਬਰ ਨੂੰ ਠੀਕ ਕਰਨਾ ਸਿਰਫ਼ ਲੱਛਣਾਂ ਦਾ ਇਲਾਜ ਕਰਨਾ ਹੈ।

ਸਮੱਸਿਆ ਮੈਨੂਅਲ ਮੇਨਟੇਨੈਂਸ (manual maintenance) ਦੀ ਹੈ। ਜੇਕਰ ਕੋਈ ਇਨਸਾਨ ਕੋਈ ਤੱਥ ਟਾਈਪ ਕਰਦਾ ਹੈ, ਤਾਂ ਉਹ ਤੱਥ ਅੰਤ ਵਿੱਚ ਗਲਤ ਹੋ ਜਾਵੇਗਾ।

ਇੱਕੋ ਇੱਕ ਅਸਲ ਹੱਲ ਇਹ ਹੈ ਕਿ ਨੰਬਰ ਨੂੰ ਗਲਤ ਹੋਣਾ ਅਸੰਭਵ ਬਣਾ ਦਿੱਤਾ ਜਾਵੇ।

ਤੁਹਾਨੂੰ ਸੱਚਾਈ ਦੇ ਸਰੋਤ (source of truth) ਤੋਂ ਤੱਥ ਕੱਢਣੇ ਚਾਹੀਦੇ ਹਨ।

ਮੇਰੇ ਪ੍ਰੋਜੈਕਟ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਇੱਕ ਹੱਲ ਸੀ: smoke test। ਟੈਸਟ ਸਰਵਰ ਨੂੰ ਪੁੱਛਦਾ ਹੈ ਕਿ ਉਸ ਕੋਲ ਕਿੰਨੇ ਟੂਲ ਹਨ ਅਤੇ ਗਿਣਤੀ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ। ਇਹ ਕਿਸੇ hardcoded ਨੰਬਰ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦਾ। ਟੈਸਟ ਕਦੇ ਵੀ drift ਨਹੀਂ ਹੋ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਕਦੇ ਵੀ ਕੋਈ static ਨੰਬਰ ਸਟੋਰ ਨਹੀਂ ਕਰਦਾ।

ਆਪਣੀ ਲਿਖਤ ਦੇ ਨਾਲ ਵਧੇਰੇ ਅਨੁਸ਼ਾਸਿਤ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨਾ ਬੰਦ ਕਰੋ। ਅਨੁਸ਼ਾਸਨ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ। ਇਸ ਦੀ ਬਜਾਏ, ਆਪਣੇ ਤੱਥਾਂ ਨੂੰ ਆਟੋਮੇਟ (automate) ਕਰੋ:

  • build time 'ਤੇ ਇੱਕ script ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਗਿਣਤੀ ਤਿਆਰ ਕਰੋ।
  • ਸਿੱਧੇ ਤੁਹਾਡੇ code registry ਤੋਂ ਟੂਲ ਸੂਚੀਆਂ ਤਿਆਰ ਕਰੋ।
  • ਇਨਸਾਨਾਂ ਦੀ ਵਰਤੋਂ ਸਿਰਫ਼ ਵੇਰਵਿਆਂ ਅਤੇ ਵਿਆਖਿਆਵਾਂ ਲਈ ਕਰੋ।

ਜੇਕਰ ਕੋਈ ਤੱਥ ਕੱਢਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਹੱਥ ਨਾਲ ਟਾਈਪ ਨਾ ਕਰੋ। ਇਹ ਸਿਰਫ਼ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ drift ਹੈ।

ਅੱਜ ਆਪਣੇ ਪ੍ਰੋਜੈਕਟ 'ਤੇ ਇਹ audit ਚਲਾਓ:

  1. ਆਪਣੇ ਕੋਡ ਵਿੱਚ ਅਸਲ ਚੀਜ਼ਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ।
  2. ਤੁਹਾਡਾ ਦਸਤਾਵੇਜ਼ (documentation) ਜੋ ਦਾਅਵਾ ਕਰਦਾ ਹੈ ਉਸ ਦੀ ਗਿਣਤੀ ਕਰੋ।
  3. ਜੇਕਰ ਉਹ ਵੱਖਰੇ ਹਨ, ਤਾਂ ਪਤਾ ਲਗਾਓ ਕਿ ਉਸ ਅੰਤਰ (gap) ਵਿੱਚ ਕੀ ਹੈ।

ਅੰਤਰ (gap) ਵਿੱਚ ਮੌਜੂਦ ਚੀਜ਼ਾਂ ਆਮ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਦੇ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸੇ ਹੁੰਦੇ ਹਨ।

Source: https://dev.to/achiya-automation/my-readme-said-80-tools-my-code-had-96-nobody-noticed-for-weeks-1f3e

Optional learning community: https://t.me/GyaanSetuAi