Adakah argumen rekayasa-perangkat lunak yang obyektif dan dapat didukung untuk atau tidak memodifikasi nilai-nilai parameter nilai-dalam tubuh suatu fungsi?
Ludah berulang (sebagian besar menyenangkan) di tim saya adalah apakah parameter yang dilewati oleh nilai harus dimodifikasi atau tidak. Beberapa anggota tim bersikeras bahwa parameter tidak boleh ditugaskan, sehingga nilai yang semula diberikan ke fungsi selalu dapat diinterogasi. Saya tidak setuju dan berpendapat bahwa parameter tidak lebih dari variabel lokal yang diinisialisasi oleh sintaks memanggil metode; jika nilai asli dari parameter menurut nilai penting dari variabel lokal dapat dinyatakan untuk secara eksplisit menyimpan nilai ini. Saya tidak yakin bahwa kami berdua memiliki dukungan yang sangat baik untuk posisi kami.
Apakah ini konflik agama yang tak terselesaikan, atau adakah alasan rekayasa perangkat lunak objektif yang baik di kedua arah?
Catatan: Pertanyaan prinsip tetap terlepas dari detail implementasi bahasa tertentu. Dalam JavaScript, misalnya, di mana daftar argumen selalu dinamis, parameter dapat dianggap sebagai gula sintaksis untuk inisialisasi variabel lokal dari arguments
objek. Meski begitu, orang dapat memperlakukan pengidentifikasi yang dinyatakan parameter sebagai "khusus" karena mereka masih menangkap berlalunya informasi dari penelepon ke callee.