Saya mengambil kursus struktur data menengah sebagai prasyarat untuk masuk ke program MS MS di Universitas yang pernah didengar semua orang di Amerika. Satu baris kode yang ditulis di kelas menarik perhatian saya:
if (a > 33 | b++ < 54) {...}
Ini tidak akan memberikan ulasan kode di tempat kerja saya. Jika Anda menulis kode seperti ini dalam sebuah wawancara, ini akan menjadi serangan signifikan terhadap Anda. (Selain menjadi bersyarat dengan efek samping, itu menjadi pintar dengan mengorbankan kejelasan.)
Bahkan, saya belum pernah melihat persyaratan dengan efek samping, dan Googling juga tidak banyak muncul. Siswa lain tetap tinggal di belakang kelas untuk bertanya tentang hal itu, jadi saya bukan satu-satunya yang menganggap ini aneh. Tetapi profesor itu bersikeras bahwa ini adalah kode yang dapat diterima, dan bahwa dia akan menulis sesuatu seperti itu di tempat kerja. (Pekerjaan FT-nya adalah sebagai SWE Kepala Sekolah di sebuah perusahaan yang Anda semua pernah dengar.)
Saya tidak bisa membayangkan dunia di mana garis kode ini dapat diterima, apalagi diinginkan. Apakah aku salah? Apakah ini ok? Bagaimana dengan kasus yang lebih umum: bersyarat dengan efek samping? Apakah semua itu baik-baik saja?