ગેટ ૧૯૮ વાર ફાયર થયો. મેં તેને "કામ કરી રહ્યું છે" તેમ માન્યું.
મેં ખરાબ કોડને રોકવા માટે એક ગેટ બનાવ્યો હતો. તેણે ૧૯૮ કોડના ટુકડાઓને બ્લોક કર્યા. મને લાગ્યું કે આનો અર્થ એ છે કે ગેટ સારી રીતે કામ કરી રહ્યો છે. મેં બ્લોક કરાયેલ સંખ્યા વધુ જોઈ અને મને સફળતાનો અનુભવ થયો.
પછી મેં વાસ્તવિક કિસ્સાઓ જોયા. મને સમજાયું કે તેમાંથી ઘણા બ્લોક્સ ભૂલો હતા. ગેટ સારા કોડને નકારી રહ્યો હતો. તેણે એવા કામને નકારી દીધું જે તમામ જરૂરિયાતો પૂરી કરતું હતું, માત્ર એટલા માટે કે તેનું માળખું અસામાન્ય દેખાતું હતું.
મેં એક સામાન્ય ભૂલ કરી. મેં પ્રવૃત્તિ (activity) ને સચોટતા (correctness) સમજી લીધી.
એક ગેટ એકસાથે ખૂબ જ સક્રિય અને ખૂબ જ ખોટો હોઈ શકે છે. બ્લોક કરાયેલ સંખ્યા વધુ હોવી એ મૂલ્ય સાબિત કરતી નથી. તે માત્ર એટલું જ સાબિત કરે છે કે ગેટ ફાયર થઈ રહ્યો છે.
ગેટ ખરેખર તેનું કામ કરી રહ્યું છે કે નહીં તે જાણવા માટે મેં જે રીતે શીખ્યું તે અહીં છે:
- બ્લોક કરવાના કારણો જુઓ. શું તેઓ વાસ્તવિક ખામીઓ પકડે છે? અથવા શું તેઓ માત્ર સપાટી પરના સમાન પેટર્ન પર જ અટકી જાય છે?
- રીટ્રાય્સ (retries) પર નજર રાખો. શું રીટ્રાય કરવાથી વાસ્તવિક સમસ્યા ઉકેલાય છે? અથવા શું કોડ માત્ર ગેટને ખુશ કરવા માટે પોતાનું સ્વરૂપ બદલી નાખે છે? જો કોડ સુધારો કર્યા વિના માત્ર તેનું સ્વરૂપ બદલે છે, તો ગેટ પોતે જ એક સમસ્યા છે.
- અંતિમ કન્વર્જન્સ (convergence) તપાસો. શું કામ અંતે તેના પોતાના ગુણોને આધારે પાસ થાય છે? જો તમારે કામ પાસ કરવા માટે ગેટને નબળો પાડવો પડે, તો ગેટ ખોટો હતો.
સારી રીતે કામ કરતો ગેટ સિસ્ટમને વધુ સારી બનાવે છે. ખરાબ ગેટ માત્ર સિસ્ટમને ગેટ મુજબ અનુકૂલિત બનાવે છે. અંતે તમારી પાસે એવો કોડ હોય છે જે વાસ્તવિક રીતે સારો હોવાને બદલે વેલિડેટરને ખુશ કરવા માટે બનાવવામાં આવ્યો હોય.
કુલ સંખ્યા જોવાનું બંધ કરો. કુલ સંખ્યા તમને પ્રવૃત્તિ બતાવે છે. સેમ્પલ તમને સત્ય બતાવે છે.
તમારા ગેટ્સ, લિંટર્સ અથવા ફિલ્ટર્સ જે બ્લોક કરે છે તેના સેમ્પલનું ઓડિટ કરો. જો તમે તમારા ગાર્ડ્સનું પરીક્ષણ માત્ર ખરાબ ઇનપુટ સાથે જ કરો છો, તો તમે માત્ર તમારા ગાર્ડ્સના વખાણ કરવા માટેના પ્રશ્નો જ પૂછી રહ્યા છો. તમારે એ પણ તપાસવું જોઈએ કે તેઓ સારા અને અસામાન્ય ઇનપુટને પસાર થવા દે છે કે નહીં.
શું તમે તમારી બ્લોક સંખ્યાનું ઓડિટ કરો છો? તમે કેવી રીતે નક્કી કરો છો કે રિજેક્શન યોગ્ય હતું?
Source: https://dev.to/josephyeo/the-gate-fired-198-times-i-called-it-working-45fk
Optional learning community: https://t.me/GyaanSetuAi