Untuk memperluas sedikit pada judul, saya mencoba untuk mendapatkan beberapa kesimpulan tentang apakah perlu atau tidak untuk secara eksplisit mendeklarasikan (yaitu menyuntikkan) fungsi murni di mana beberapa fungsi atau kelas lain bergantung.
Apakah kode yang diberikan kurang dapat diuji atau lebih buruk dirancang jika menggunakan fungsi murni tanpa meminta mereka? Saya ingin sampai pada kesimpulan tentang masalah ini, untuk segala jenis fungsi murni dari fungsi sederhana, asli (misalnya max()
, min()
- terlepas dari bahasa) ke kebiasaan, yang lebih rumit yang pada gilirannya mungkin secara implisit tergantung pada fungsi murni lainnya.
Perhatian yang biasa adalah bahwa jika beberapa kode hanya menggunakan dependensi secara langsung, Anda tidak akan dapat mengujinya secara terpisah, yaitu pada saat yang sama Anda akan menguji semua hal yang Anda bawa secara diam-diam bersama Anda. Tapi ini menambahkan beberapa boilerplate jika Anda harus melakukannya untuk setiap fungsi kecil, jadi saya ingin tahu apakah ini masih berlaku untuk fungsi murni, dan mengapa atau mengapa tidak.