Sedikit konteks: Sebelumnya hari ini saya harus memperbarui beberapa kode SQL yang disediakan oleh rekan saya yang lain, dan karena ini skrip yang cukup besar, disimpan sebagai file terpisah (yang kemudian dibaca dan dieksekusi saat runtime). Saat melakukan ini, saya secara tidak sengaja memperkenalkan kembali dua bug yang kami miliki beberapa bulan lalu, yaitu:
- Untuk alasan apa pun file ASCII dikodekan dalam UTF-16 (kolega mengirimi saya email file tersebut, yang mungkin menyebabkannya).
- Script tidak ada
SET
pernyataan awal (diperlukan karena beberapa hal driver pada produksi, tetapi tidak pada instalasi yang bersih secara lokal).
Setelah men-debug ini sekitar satu jam (lagi) saya memutuskan untuk menulis beberapa tes unit untuk memastikan ini tidak akan terjadi lagi (dan termasuk cara cepat untuk memperbaikinya dalam pesan pernyataan untuk memberikan perbaikan yang mudah bagi pengembang masa depan).
Namun ketika saya mendorong kode ini rekan lain (yang juga pemimpin tim kami) menghampiri saya dan mengatakan bahwa saya tidak boleh membuat hal-hal ini lagi karena:
"Benda-benda ini tidak termasuk dalam unit test"
"Tes unit seharusnya hanya digunakan untuk memeriksa aliran kode Anda"
Saya cukup konflik sekarang karena saya masih berpikir apa yang saya lakukan tidak salah, karena bug ini tidak akan diperkenalkan kembali di masa depan, namun kolega ini bekerja sebagai senior dan pada akhirnya harus memutuskan apa kita menghabiskan waktu kita. Apa yang harus saya lakukan? Apakah saya salah melakukannya dengan cara ini? Apakah itu dianggap praktik yang buruk?