Pragmatic Programmer – Assertive Programming
Dalam buku “The Pragmatic Programmer” karya Andrew Hunt dan David Thomas, konsep “assertive programming” (pemrograman asertif) dijelaskan sebagai pendekatan dalam penulisan kode di mana programmer secara aktif memeriksa kebenaran dari asumsi-asumsi dalam kode mereka. Ide utamanya adalah menggunakan assertions untuk menegaskan bahwa kondisi tertentu selalu benar pada titik-titik kritis dalam kode.
Berikut adalah beberapa poin utama tentang pemrograman asertif:
- Menggunakan Assertions: Assertion adalah pernyataan dalam kode yang memeriksa kebenaran dari kondisi tertentu. Jika kondisi yang diperiksa oleh assertion tidak terpenuhi, program biasanya akan menghentikan eksekusi atau menandai kesalahan. Ini membantu dalam mengidentifikasi bug atau kesalahan logika pada tahap awal.
- Mencegah Kerusakan Data: Assertions dapat digunakan untuk memastikan bahwa data dalam program tidak dalam keadaan yang rusak atau tidak valid. Hal ini sangat penting dalam menangani operasi yang kompleks atau dalam algoritma yang sensitif.
- Dokumentasi dalam Kode: Assertions juga berfungsi sebagai bentuk dokumentasi dalam kode. Mereka mengkomunikasikan ekspektasi programmer tentang apa yang seharusnya benar pada titik tertentu dalam program.
- Pengembangan dan Debugging: Dalam proses pengembangan, assertions sangat berguna untuk debugging. Mereka membantu dalam mengidentifikasi dengan cepat tempat dan alasan sebuah bug muncul.
- Pengujian: Dalam beberapa kasus, assertions juga dapat berfungsi sebagai bagian dari strategi pengujian, meskipun tidak menggantikan kebutuhan untuk unit test yang formal.
- Tidak untuk Pengendalian Alur Program: Penting untuk dicatat bahwa assertions tidak dimaksudkan untuk digunakan sebagai mekanisme kontrol alur program. Mereka seharusnya hanya digunakan untuk memeriksa keadaan yang seharusnya benar-benar tak terpikirkan untuk gagal.
- Performa: Dalam beberapa kasus, ada pertimbangan tentang dampak performa dari assertions, terutama dalam lingkungan produksi. Oleh karena itu, seringkali assertions dinonaktifkan dalam build produksi.
Secara keseluruhan, pemrograman asertif dalam “The Pragmatic Programmer” ditekankan sebagai alat untuk membuat kode lebih dapat diandalkan, lebih mudah untuk di-debug, dan pada akhirnya, meningkatkan kualitas keseluruhan perangkat lunak yang dikembangkan.