Saya menemukan persyaratan berikut dalam program yang telah saya ambil dari pengembang lain:
if (obj.Performance <= LOW_PERFORMANCE)
{
obj.NeedsChange = true;
}
else
{
obj.NeedsChange = false;
}
Saya percaya kode ini berlebihan dan jelek, jadi saya mengubahnya menjadi apa yang saya pikir merupakan tugas boolean sederhana berdasarkan perbandingan:
obj.NeedsChange = obj.Performance <= LOW_PERFORMANCE;
Setelah melihat ini, seseorang meninjau kode saya berkomentar bahwa meskipun perubahan saya secara fungsional benar, itu mungkin membingungkan orang lain yang melihatnya. Dia percaya bahwa menggunakan operator ternary membuat penugasan ini lebih jelas, sedangkan saya tidak suka penambahan kode yang lebih berlebihan:
obj.NeedsChange = (obj.Performance <= LOW_PERFORMANCE) ? true : false;
Alasannya adalah bahwa melakukan sesuatu dengan cara yang paling singkat tidak sepadan, jika itu menyebabkan pengembang lain harus berhenti dan mencari tahu apa yang telah Anda lakukan.
Pertanyaan sebenarnya di sini adalah mana dari tiga metode ini memberikan nilai ke boolean obj.NeedsChange
yang paling jelas dan paling bisa dipertahankan?