Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031600AbXEAJAi (ORCPT ); Tue, 1 May 2007 05:00:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1031602AbXEAJAi (ORCPT ); Tue, 1 May 2007 05:00:38 -0400 Received: from hoefnix.telenet-ops.be ([195.130.132.54]:33460 "EHLO hoefnix.telenet-ops.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031600AbXEAJAg (ORCPT ); Tue, 1 May 2007 05:00:36 -0400 Date: Tue, 1 May 2007 11:00:10 +0200 (CEST) From: Geert Uytterhoeven To: Satyam Sharma Cc: Andrew Morton , Christoph Hellwig , Roland McGrath , Christoph Hellwig , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org Subject: Re: condingstyle, was Re: utrace comments In-Reply-To: Message-ID: References: <20061127165138.GA2991@lst.de> <20070430040213.BF9901801A4@magilla.sf.frob.com> <20070430091121.GC31397@infradead.org> <20070430100917.439ebfc8.akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1889 Lines: 59 On Tue, 1 May 2007, Satyam Sharma wrote: > Actually, the latter style (one condition per line and the && or || > operators appearing _before_ the conditions in subsequent lines) > is quite popular for multi-line compound conditions (well, I've seen this > in kernel/workqueue.c, kernel/stop_machine.c, etc at least, and also in > Linus' code, if I'm not mistaken). We also align subsequent lines to the > column of the condition belonging to the same "logical level" on the > previous line using _spaces_ (note that this is alignment, not indentation, > using spaces). The rationale is to make the operator prominent and thus make > the structure of a complex multi-line compound conditional expression more > readable and obvious at first glance itself. For example, consider: > > if (veryverylengthycondition1 && > smallcond2 && > (conditionnumber3a || > condition3b)) { > ... > } > > versus > > if (veryverylengthycondition1 > && smallcond2 > && (conditionnumber3a > || condition3b)) { > ... > } > > ? > > Latter wins, doesn't it? ... because you forgot to align subsequent lines to the column of the condition belonging to the same "logical level" on the previous line. Consider this: if (veryverylengthycondition1 && smallcond2 && (conditionnumber3a || condition3b)) { ... } Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/