Disons que j'essaie de décrire mon code lors d'une réunion technique.
Tout d'abord, j'ai défini le booléen
foobar
surtrue
et
Deuxièmement, j'ai défini le booléen
foobar
surfalse
semble un peu verbeux. Si foobar
était basculé, je pourrais probablement dire,
Troisièmement, je bascule
foobar
Par implication ici, vous savez que c'est un booléen. Je ne devrais donc pas pouvoir:
Quatrièmement, je Truthify foobar
et
Cinquièmement, je Falsify foobar
Lequel impliquera également, par implication, que mes auditeurs ont affaire à une variable booléenne? Existe-t-il une terminologie appropriée pour cela? Merci.
Vous pouvez également utiliser "le définir sur true" et "le définir sur false", bien sûr.
Si possible, plutôt que de vous concentrer sur la valeur booléenne, vous devriez essayer de décrire ce qu'elle représente. Quelques exemples:
De cette façon, vous parleriez en termes plus naturels. Et donc lors de votre réunion, au lieu de "véritéifier foobar puis falsifier", vous devez simplement "démarrer foobar puis l'arrêter" (si foobar est un service, en effet).
Lorsque vous avez vraiment besoin de parler d'une valeur booléenne, vous pouvez aller avec "set/reset", ou "set to true" et "set to false". "Toggle" sonne plutôt bien dans tous les contextes.
Et si vous travaillez dans une boutique booléenne (quoi que cela puisse signifier), vous avez probablement besoin de plus de mots que ce que le dictionnaire a à offrir. Dans ce cas, vérité et falsification sont simplement des parties de votre microspeak .
J'aime "set"/"clear", mais attention à l'ambiguïté dans votre phrasé. Comme Filip le souligne , "définir la variable bool" pourrait signifier écrire une certaine valeur dans la variable. Mais "mettre le drapeau" est plus clair.
Terminologie associée: transformer un entier 0/non nul en une valeur 0/1 est appelé "booleanizing".
Si vous utilisez réellement la valeur 0/1 comme un entier (au lieu d'un vrai/faux bool
), vous souhaiterez peut-être utiliser ce mot. Sinon, cela n'apparaîtra probablement que si vous parlez du coût des opérations que le compilateur doit effectuer. (Ou si vous vectorisez manuellement avec un SIMD, comparez pour produire des bits à zéro/tout-en-un dans chaque élément vectoriel).
En C et C++, un bool
peut implicitement se reconvertir en un entier sous la forme 0 ou 1, et sur les implémentations normales bool
est stocké comme une valeur sur un octet qui est soit 0 soit 1 (pas n'importe quelle valeur non nulle). Le permet efficace a && b
, mais dans la pratique, de nombreux compilateurs C ont manqué des optimisations .
bool booleanize(int a) { return a; } // C++
Cette fonction se compile en plusieurs instructions (sans inclure le ret
) sur la plupart des architectures. (MIPS étant une exception intéressante, ayant des instructions de comparaison dans le registre au lieu d'un registre d'indicateur/code de condition séparé). sur l'explorateur du compilateur Godbolt pour x86-64, MIPS et ARM thumb , nous pouvons voir que la version x86-64 est:
test edi, edi # set flags according to a & a
setne al
ret # return value in AL, the low byte of RAX
Désolé cet exemple de ce qu'est la booleanisation est devenu un peu grand/hors sujet!
Je pense que "définir Foobar
sur vrai" et "définir Foobar
sur faux" sont simples et succincts. Je ne crois pas qu'il y ait des mots individuels pour ces phrases, et lorsque vous devez être à la fois technique et précis, il vaut parfois mieux être prêt à être un peu verbeux que de risquer de confondre votre public.