Katakanlah saya mencoba untuk menggambarkan kode saya dalam pertemuan teknis.
Pertama, saya atur boolean
foobar
ketrue
dan
Kedua, saya mengatur boolean
foobar
kefalse
sepertinya agak bertele-tele. Jika foobar
dimatikan, saya mungkin bisa mengatakan,
Ketiga, saya beralih
foobar
Melalui implikasi di sini, Anda tahu itu boolean. Jadi seharusnya saya tidak bisa:
Keempat, I Truthify foobar
dan
Kelima, Saya Memalsukan foobar
Yang juga akan melalui implikasi, beri tahu pendengar saya bahwa kita berurusan dengan variabel boolean? Apakah ada terminologi yang tepat untuk ini? Terima kasih.
terminology
boolean
Akiva
sumber
sumber
Jawaban:
Anda juga dapat menggunakan "setel ke true" dan "setel ke false" , tentu saja.
sumber
Jika memungkinkan, alih-alih berfokus pada nilai boolean, Anda harus mencoba menggambarkan apa yang diwakilinya. Beberapa contoh:
Dengan cara ini Anda akan berbicara dalam istilah yang lebih alami. Dan dengan demikian dalam pertemuan Anda, alih-alih "membenarkan foobar lalu memalsukannya" Anda hanya akan "memulai foobar lalu hentikan" (jika memang foobar adalah layanan, memang).
Ketika Anda benar-benar perlu berbicara tentang nilai boolean, Anda bisa menggunakan "set / reset", atau "set to true" dan "set to false". "Toggle" terdengar cukup bagus di semua konteks.
Dan jika Anda bekerja di toko boolean (apa pun artinya) maka Anda mungkin perlu lebih banyak kata daripada apa yang ditawarkan kamus. Dalam hal itu, mengklarifikasi dan memalsukan hanyalah bagian dari microspeak Anda .
sumber
signal = HighVoltage
atausignal = Active
IMHO jauh lebih jelas daripadasignal = true
.isStarted
,isActive
,isCaseSensitive
,mockConnection
, ... @PieterB: Saya sebagian setuju dengan Anda. "Set the boolean" tidak secara inheren berarti mengaturnya menjadi true. Namun, "AturisActive
bendera" dapat secara wajar diartikan sebagai pengaturan itu menjadi benar.signal = true
memang tidak jelas, tetapi jika Anda akan menggunakansignal = Active
maka Anda mungkin juga menggunakannyaisSignalActive = true
. Perhatikan bahwa ini berlaku terutama untuk deskriptor yang jelas-jelas eksklusif dan saling melengkapi. Aktif / Tidak Aktif sesuai dengan tagihan. HighVoltage tidak, karena "bukan tegangan tinggi" bisa berarti "tegangan rendah", atau bisa berarti "tegangan rendah atau sedang". Dalam kasus terakhir, argumen boolean jelas tidak berlaku. Dalam yang pertama, itu.Saya suka "set" / "clear", tapi hati-hati dengan ambiguitas dalam ungkapan Anda. Seperti yang ditunjukkan Filip , "atur variabel bool" dapat diartikan dengan menuliskan beberapa nilai pada variabel. Tapi "mengatur bendera" lebih jelas.
Terminologi terkait: mengubah bilangan bulat 0 / non-nol menjadi nilai 0/1 disebut "booleanizing" .
Jika Anda benar-benar menggunakan nilai 0/1 sebagai bilangan bulat (bukan sebagai benar / salah
bool
), Anda mungkin ingin menggunakan kata itu. Kalau tidak, itu mungkin hanya akan muncul jika Anda berbicara tentang biaya operasi yang harus dilakukan oleh kompiler. (Atau jika Anda melakukan vektorisasi secara manual dengan SIMD dibandingkan untuk menghasilkan bit semua-nol / semua-satu di setiap elemen vektor).Dalam C dan C ++, a
bool
secara implisit dapat mengkonversi kembali menjadi integer sebagai 0 atau 1, dan pada implementasi normalbool
disimpan sebagai nilai satu-byte yang bernilai 0 atau 1 (bukan sembarang nilai bukan nol). Memungkinkan efisiena && b
, tetapi dalam praktiknya banyak kompiler C telah melewatkan optimasi .Fungsi itu mengkompilasi ke beberapa instruksi (tidak termasuk
ret
) pada sebagian besar arsitektur. (MIPS menjadi pengecualian yang menarik, memiliki instruksi pembanding-ke-register alih-alih register bendera / kode-kondisi terpisah). pada Godbolt compiler explorer untuk x86-64, MIPS, dan ARM thumb , kita dapat melihat versi x86-64 adalah:Maaf contoh apa booleanisasi ini mendapat sedikit besar / di luar topik!
sumber
Saya pikir "set
Foobar
to true" dan "setFoobar
to false" adalah langsung dan ringkas. Saya tidak percaya ada kata-kata individual untuk frasa-frasa itu, dan ketika Anda perlu teknis dan tepat, kadang-kadang lebih baik rela sedikit bertele-tele daripada mengambil risiko membingungkan audiens Anda.sumber
"Pengaturan" adalah cara yang benar untuk menggambarkan tindakan menetapkan nilai ke variabel. Jika Anda ingin bertele-tele tentang hal itu, Anda bisa menyebutnya "penugasan", tetapi "set" sangat lazim. Bahkan, itu Java idiomatik untuk menulis
setFoobar()
(dangetFoobar()
) metode untuk melakukan tugas. C # membawanya selangkah lebih jauh denganget
danset
definisi properti.Berkenaan dengan poin kedua Anda tentang menggunakan "benar" dan "memalsukan" untuk "melalui implikasi, beri tahu pendengar saya bahwa kita berurusan dengan variabel boolean", Anda sudah memberi tahu pendengar Anda bahwa variabelnya adalah Boolean ketika Anda mengatakan:
sumber
isFoobar()
Penegasan atau Pencabutan Kembali juga dapat digunakan, paling sering ketika berbicara tentang proposisi daripada variabel sederhana, misalnya dalam Prolog. Biasanya ada istilah yang berbeda tergantung apa yang boolean wakili, daripada satu istilah umum untuk semua bahasa yang memiliki nilai boolean (set / hapus flag atau bit, aktifkan / nonaktifkan perangkat atau mode, nyatakan / tarik kembali proposisi, mungkin lebih).
sumber
Untuk mengubah nilai boolean dari
true
menjadifalse
, atau sebaliknya disebut meniadakan .Untuk menetapkan nilai boolean menjadi
false
dikatakan memalsukan boolean. Saya akan mengerti Anda jika Anda mengatakan "benar", namun, ini kedengarannya tidak benar. Saya tidak yakin apa kata kerjanya untuk membuat sesuatutrue
, jadi itu mungkin benar.Saya akan menunggu seseorang dengan jawaban yang lebih baik untuk datang sebelum Anda mulai menggunakan "benarkan" mau tak mau.
sumber
Sebuah boolean adalah setara dengan SPST (tiang tunggal, tunggal melempar) saklar listrik: satu putaran itu pada atau off .
sumber
done
variabel" atau "error
Variabel dimatikan" keduanya terdengar agak mati, setidaknya bagi saya. Alternatif yang disarankan oleh jawaban lain tampaknya lebih lazim - "Aturdone
variabel / bool / flag [menjadi true]", atau "error
Bendera dikosongkan."