All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: arei.gonglei@huawei.com, qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, peter.crosthwaite@xilinx.com,
	weidong.huang@huawei.com, stefanha@redhat.com, mst@redhat.com,
	marcel.a@redhat.com, luonengjun@huawei.com, armbru@redhat.com,
	lcapitulino@redhat.com, av1474@comtv.ru, kraxel@redhat.com,
	aliguori@amazon.com, imammedo@redhat.com, dmitry@daynix.com,
	pbonzini@redhat.com, peter.huangpeng@huawei.com,
	afaerber@suse.de, dgilbert@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3 1/8] CODING_STYLE: Section about conditional statement
Date: Fri, 01 Aug 2014 10:01:28 -0600	[thread overview]
Message-ID: <53DBB9D8.50707@redhat.com> (raw)
In-Reply-To: <1406879176-4008-2-git-send-email-arei.gonglei@huawei.com>

[-- Attachment #1: Type: text/plain, Size: 1708 bytes --]

On 08/01/2014 01:46 AM, arei.gonglei@huawei.com wrote:
> From: Gonglei <arei.gonglei@huawei.com>
> 
> Yoda conditions lack readability, and QEMU has a
> strict compiler configuration for checking a common
> mistake like "if (dev = NULL)". Make it a written rule.
> 
> Signed-off-by: Gonglei <arei.gonglei@huawei.com>
> ---
>  CODING_STYLE | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/CODING_STYLE b/CODING_STYLE
> index 4280945..b08bfb4 100644
> --- a/CODING_STYLE
> +++ b/CODING_STYLE
> @@ -91,3 +91,17 @@ Mixed declarations (interleaving statements and declarations within blocks)
>  are not allowed; declarations should be at the beginning of blocks.  In other
>  words, the code should not generate warnings if using GCC's
>  -Wdeclaration-after-statement option.
> +
> +6. Conditional statements
> +
> +When comparing a variable for (in)equality with a constant, list the
> +constant on the right, as in:
> +
> +if (a == 0) {
> +    /* Reads like: "If a is equal to 0" */

I actually tend to read it as 'if a equals 0'.

> +    do_something();
> +}
> +
> +Rationale: Yoda conditions (as in 'if (0 == a)') are awkward to read.

I know this is my suggested text, but now that I'm re-reading it, I'd
recommend s/0/1/ in all three places, since comparison to 0 is one of
those special cases where '!a' is faster to write than 'a == 0'.

> +Besides, good compilers already warn users when '==' is mis-typed as '=',
> +even when the constant is on the right.

With those changes,
Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 539 bytes --]

  reply	other threads:[~2014-08-01 16:02 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-01  7:46 [Qemu-devel] [PATCH v3 for-2.2 0/8] don't use Yoda conditions arei.gonglei
2014-08-01  7:46 ` [Qemu-devel] [PATCH v3 1/8] CODING_STYLE: Section about conditional statement arei.gonglei
2014-08-01 16:01   ` Eric Blake [this message]
2014-08-04  0:55     ` Gonglei (Arei)
2014-08-05 15:48       ` Alex Bennée
2014-08-05 15:53         ` Michael S. Tsirkin
2014-08-06  1:53           ` Gonglei (Arei)
2014-08-01  7:46 ` [Qemu-devel] [PATCH v3 2/8] usb: don't use 'Yoda conditions' arei.gonglei
2014-08-01  7:46 ` [Qemu-devel] [PATCH v3 3/8] audio: " arei.gonglei
2014-08-01  7:46 ` [Qemu-devel] [PATCH v3 4/8] isa-bus: " arei.gonglei
2014-08-01  7:46 ` [Qemu-devel] [PATCH v3 5/8] " arei.gonglei
2014-08-01  7:46 ` [Qemu-devel] [PATCH v3 6/8] spice: " arei.gonglei
2014-08-01  7:46 ` [Qemu-devel] [PATCH v3 7/8] vl: " arei.gonglei
2014-08-01  7:46 ` [Qemu-devel] [PATCH v3 8/8] vmxnet3: " arei.gonglei
2014-08-05 14:02 ` [Qemu-trivial] [PATCH v3 for-2.2 0/8] don't use Yoda conditions Michael S. Tsirkin
2014-08-05 14:02   ` [Qemu-devel] " Michael S. Tsirkin
2014-08-06  1:47   ` [Qemu-trivial] " Gonglei (Arei)
2014-08-06  1:47     ` [Qemu-devel] " Gonglei (Arei)
2014-08-06  6:05     ` [Qemu-trivial] " Markus Armbruster
2014-08-06  6:05       ` Markus Armbruster
2014-08-06  6:57       ` [Qemu-trivial] " Michael S. Tsirkin
2014-08-06  6:57         ` Michael S. Tsirkin
2014-08-06  7:55         ` [Qemu-trivial] " Markus Armbruster
2014-08-06  7:55           ` Markus Armbruster
2014-08-06  1:53   ` [Qemu-trivial] " Eric Blake
2014-08-06  1:53     ` [Qemu-devel] " Eric Blake
2014-08-06  6:53     ` [Qemu-trivial] " Michael S. Tsirkin
2014-08-06  6:53       ` [Qemu-devel] " Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53DBB9D8.50707@redhat.com \
    --to=eblake@redhat.com \
    --cc=afaerber@suse.de \
    --cc=aliguori@amazon.com \
    --cc=arei.gonglei@huawei.com \
    --cc=armbru@redhat.com \
    --cc=av1474@comtv.ru \
    --cc=dgilbert@redhat.com \
    --cc=dmitry@daynix.com \
    --cc=imammedo@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=luonengjun@huawei.com \
    --cc=marcel.a@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.crosthwaite@xilinx.com \
    --cc=peter.huangpeng@huawei.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=weidong.huang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.