𝗧𝗵𝗲 𝗚𝗮𝘁𝗲 𝗙𝗶𝗿𝗲𝗱 𝟭𝟵𝟴 𝗧𝗶𝗺𝗲𝘀. 𝗜 𝗖𝗮𝗹𝗹𝗲𝗱 𝗜𝘁 "𝗪𝗼𝗿𝗸𝗶𝗻𝗴."

Saya membangun sebuah gerbang untuk memblokir kode yang buruk. Gerbang tersebut memblokir 198 potongan kode. Saya pikir ini berarti gerbang tersebut bekerja dengan baik. Saya melihat jumlah blokir yang tinggi dan merasa sukses.

Kemudian saya melihat kasus-kasus yang sebenarnya. Saya menyadari bahwa banyak dari blokir tersebut adalah kesalahan. Gerbang itu menolak kode yang bagus. Ia menolak pekerjaan yang telah memenuhi semua persyaratan hanya karena strukturnya terlihat tidak biasa.

Saya melakukan kesalahan umum. Saya mencampuradukkan aktivitas dengan ketepatan.

Sebuah gerbang bisa sangat aktif sekaligus sangat salah di saat yang bersamaan. Jumlah blokir yang tinggi tidak membuktikan nilai. Itu hanya membuktikan bahwa gerbang tersebut sedang terpicu.

Berikut adalah cara saya belajar untuk mengetahui apakah sebuah gerbang benar-benar menjalankan tugasnya:

  • Perhatikan alasan pemblokiran. Apakah mereka menangkap cacat yang nyata? Atau mereka hanya tersandung pada pola permukaan yang sama?
  • Perhatikan upaya pengulangan (retry). Apakah pengulangan tersebut memperbaiki masalah yang sebenarnya? Atau apakah kodenya hanya berubah bentuk demi menyenangkan gerbang tersebut? Jika kode hanya berubah bentuk tanpa ada peningkatan, maka gerbang tersebut adalah masalah.
  • Periksa konvergensi akhir. Apakah pekerjaan tersebut akhirnya lolos berdasarkan kualitasnya sendiri? Jika Anda harus memperlemah gerbang agar pekerjaan bisa lolos, berarti gerbang tersebut salah.

Gerbang yang bekerja dengan baik membuat sistem menjadi lebih baik. Gerbang yang buruk hanya membuat sistem beradaptasi dengan gerbang tersebut. Anda akhirnya mendapatkan kode yang dibentuk untuk menyenangkan validator, alih-alih kode yang benar-benar bagus.

Berhentilah melihat jumlah total. Jumlah total menunjukkan aktivitas. Sampel menunjukkan kebenaran.

Auditlah sampel dari apa yang diblokir oleh gerbang, linter, atau filter Anda. Jika Anda hanya menguji penjaga (guards) Anda dengan input yang buruk, Anda hanya mengajukan pertanyaan yang menyenangkan hati mereka. Anda juga harus menguji apakah mereka membiarkan input yang bagus namun tidak biasa untuk lewat.

Apakah Anda mengaudit jumlah blokir Anda? Bagaimana Anda memutuskan apakah sebuah penolakan dapat dibenarkan?

Source: https://dev.to/josephyeo/the-gate-fired-198-times-i-called-it-working-45fk

Komunitas pembelajaran opsional: https://t.me/GyaanSetuAi