Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1194970imu; Wed, 23 Jan 2019 12:23:43 -0800 (PST) X-Google-Smtp-Source: ALg8bN4V0F6kLSMjd8STctkrxdv2Ya8HZxPiFIozLAZGRr4RWCfScRWcyVPSF3+gEaEJTEWh74fA X-Received: by 2002:a63:ca02:: with SMTP id n2mr3342940pgi.187.1548275023355; Wed, 23 Jan 2019 12:23:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548275023; cv=none; d=google.com; s=arc-20160816; b=OX5Bn7wf4RiPAri/YGzSM246LDAKJqx1S2fFyqJIwJq8r05WDESNuPSp1Q6X9eoCui ip7+pYZv7ZSGuhHqf/H2j1Y4edIwRkzrz9TfTEGemp/CY/ICVss1PhTgRj50y23ywZ2Q tmqWzdpTqKWkmYemwcs1A3pTetrVuA0pH3JWpDb0+taIhzqt+mIAv/3E9FIhs2sCrbMj Oghn/23luWsCEcO2P8vXDJxibmrobtxzupUZxI+zOYzD9LLFQNaxz71OuQFGLmrlabkw dzPUgx94bHqJnhJyV4yPpFeTyWExlCvaQya6fu+Cp7lOUcO/mU1aJS1N3bbe4QY6hFM3 4B/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=pPaA/6PU9D8RLaJ3eAVllinKWh+K6DClev5miX+hjCo=; b=tUCcVd4cV681a5LGX0aMih3vGv8SAZqspPflx+sC8ZlOFxTKubD4vLf8C8BVm13AnQ iDKwOQ/IlU1/jbDZfrA18w/REGchP/aEQLst6/lggxzNxJlFcsfZH3rgWs2J7LIlbzN4 hiG9g0ttmQHERsIWFiBvPjSuWVIhFsxlR+Go+VS9UCOoCVFDLKcxcctfDbjvQ6xaQ4Ue 6J5saOw07qF1mD/jxJy2o7Tp5zPqKFyb2vKIqO1bJiLgxBzbCdKC4L8wE1jdDl4YPcz0 EYpH3B5V/OQvpb4K751ckBQD/qX353ecZBsKmwrQC7Hha+d40sfUBhFb8+euUxNxAb5h wUfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kolabnow.com header.s=dkim20160331 header.b=5EDDlqTK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x13si20894009pgx.266.2019.01.23.12.23.27; Wed, 23 Jan 2019 12:23:43 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kolabnow.com header.s=dkim20160331 header.b=5EDDlqTK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726234AbfAWUXW (ORCPT + 99 others); Wed, 23 Jan 2019 15:23:22 -0500 Received: from mx.kolabnow.com ([95.128.36.42]:35008 "EHLO mx.kolabnow.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726035AbfAWUXW (ORCPT ); Wed, 23 Jan 2019 15:23:22 -0500 Received: from localhost (unknown [127.0.0.1]) by ext-mx-out001.mykolab.com (Postfix) with ESMTP id E5A95658; Wed, 23 Jan 2019 21:23:18 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h= content-transfer-encoding:content-type:content-type:mime-version :message-id:date:date:subject:subject:from:from:received :received:received; s=dkim20160331; t=1548274997; x=1550089398; bh=pPaA/6PU9D8RLaJ3eAVllinKWh+K6DClev5miX+hjCo=; b=5EDDlqTKcePT LUBwxZFSTVckO1Fct05mnQYw51/FB/0H7f0bVn0ajORmihlDgN8kxriUtj5Q0b+w 7MA4FwDGV+Bay1pJhldR5ScllugpuOOAdRsyDaduQxgzSvx2jWXKrj4sjWHGj9ut ee/+QeoGP3aaNkgT/CSwguzfQNDxcjzbmucXs8S5ieV+zbnJdAjGDcz6X5XgRcqT y73lTUGnEWUUmG+kjB+WHxK2+aCdVLPDyNHS/fGlNGt4ahANs7jjHbSlsf6Xo4h+ 7wKRjngroYBVVlln0+tTlY6A/66JGMBFwrj6QODuARvkYHYbaXsAznXVNA/FIKFb spPUWHITqWMdcQXXbg0XfuheyUJmHh/sOSLvFgZVySoR2iT4U2fleITaNxsM9ChL 6I2P5YvLASXNKw5j4OUj1RfRo8QCVL7HjGtZrOMX7r8Uh6S9ZgiX2cTtMe/D70k2 u7CaB0PBiDR+sHNEQl78HpwLOcVEVVliNM0Dp9Jdh4NJio921JZhYCDOahfFjbOO MBKsatChVOlsWqojoJbVpMf1/u2nTYlaazMpsHES31hY26VzLWcQKMqJm165Voph y1rdzGDXJ9ytJ2WPuj5Jw1No+cqZ+/ZtVlrK+B34/VTLTI1B/O3LfMtAYsbVUusL uKudwyUAyM05BtTZbPJvC0MiuDT71eM= X-Virus-Scanned: amavisd-new at mykolab.com X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-10 required=5 tests=[none] autolearn=disabled Received: from mx.kolabnow.com ([127.0.0.1]) by localhost (ext-mx-out001.mykolab.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NgeO-eEFlnhv; Wed, 23 Jan 2019 21:23:17 +0100 (CET) Received: from int-mx002.mykolab.com (unknown [10.9.13.2]) by ext-mx-out001.mykolab.com (Postfix) with ESMTPS id A3ED0B6; Wed, 23 Jan 2019 21:23:17 +0100 (CET) Received: from ext-subm003.mykolab.com (unknown [10.9.6.3]) by int-mx002.mykolab.com (Postfix) with ESMTPS id 3BAC325A6; Wed, 23 Jan 2019 21:23:17 +0100 (CET) From: Federico Vaga To: Jonathan Corbet Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Federico Vaga Subject: [PATCH] doc:it_IT: update coding-style - expectations around bool Date: Wed, 23 Jan 2019 21:22:55 +0100 Message-Id: <20190123202255.16479-1-federico.vaga@vaga.pv.it> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch translates in Italian the content of the following patch 7967656ffbfa coding-style: Clarify the expectations around bool Signed-off-by: Federico Vaga --- .../it_IT/process/coding-style.rst | 43 ++++++++++++++++--- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/Documentation/translations/it_IT/process/coding-style.rst b/Documentation/translations/it_IT/process/coding-style.rst index dfdefb951b89..2fd0e7f79d55 100644 --- a/Documentation/translations/it_IT/process/coding-style.rst +++ b/Documentation/translations/it_IT/process/coding-style.rst @@ -949,7 +949,40 @@ qualche valore fuori dai limiti. Un tipico esempio è quello delle funzioni che ritornano un puntatore; queste utilizzano NULL o ERR_PTR come meccanismo di notifica degli errori. -17) Non reinventate le macro del kernel +17) L'uso di bool +----------------- + +Nel kernel Linux il tipo bool deriva dal tipo _Bool dello standard C99. +Un valore bool può assumere solo i valori 0 o 1, e implicitamente o +esplicitamente la conversione a bool converte i valori in vero (*true*) o +falso (*false*). Quando si usa un tipo bool il costrutto !! non sarà più +necessario, e questo va ad eliminare una certa serie di bachi. + +Quando si usano i valori booleani, dovreste utilizzare le definizioni di true +e false al posto dei valori 1 e 0. + +Per il valore di ritorno delle funzioni e per le variabili sullo stack, l'uso +del tipo bool è sempre appropriato. L'uso di bool viene incoraggiato per +migliorare la leggibilità e spesso è molto meglio di 'int' nella gestione di +valori booleani. + +Non usate bool se per voi sono importanti l'ordine delle righe di cache o +la loro dimensione; la dimensione e l'allineamento cambia a seconda +dell'architettura per la quale è stato compilato. Le strutture che sono state +ottimizzate per l'allineamento o la dimensione non dovrebbero usare bool. + +Se una struttura ha molti valori true/false, considerate l'idea di raggrupparli +in un intero usando campi da 1 bit, oppure usate un tipo dalla larghezza fissa, +come u8. + +Come per gli argomenti delle funzioni, molti valori true/false possono essere +raggruppati in un singolo argomento a bit denominato 'flags'; spesso 'flags' è +un'alternativa molto più leggibile se si hanno valori costanti per true/false. + +Detto ciò, un uso parsimonioso di bool nelle strutture dati e negli argomenti +può migliorare la leggibilità. + +18) Non reinventate le macro del kernel --------------------------------------- Il file di intestazione include/linux/kernel.h contiene un certo numero @@ -973,7 +1006,7 @@ rigido sui tipi. Sentitevi liberi di leggere attentamente questo file d'intestazione per scoprire cos'altro è stato definito che non dovreste reinventare nel vostro codice. -18) Linee di configurazione degli editor e altre schifezze +19) Linee di configurazione degli editor e altre schifezze ----------------------------------------------------------- Alcuni editor possono interpretare dei parametri di configurazione integrati @@ -1007,8 +1040,8 @@ d'indentazione e di modalità d'uso. Le persone potrebbero aver configurato una modalità su misura, oppure potrebbero avere qualche altra magia per far funzionare bene l'indentazione. -19) Inline assembly ---------------------- +20) Inline assembly +------------------- Nel codice specifico per un'architettura, potreste aver bisogno di codice *inline assembly* per interfacciarvi col processore o con una funzionalità @@ -1040,7 +1073,7 @@ al fine di allineare correttamente l'assembler che verrà generato: "more_magic %reg2, %reg3" : /* outputs */ : /* inputs */ : /* clobbers */); -20) Compilazione sotto condizione +21) Compilazione sotto condizione --------------------------------- Ovunque sia possibile, non usate le direttive condizionali del preprocessore -- 2.20.1