From: "Ara.T.Howard" Date: 2005-05-28T00:20:20+09:00 Subject: Re: [FYKA] Plz comment On Fri, 27 May 2005, Dr Balwinder S Dheeman wrote: > Dear Rubiest! > > I'm working on a Ruby source code formatting and, or beautification utility > (http://rindent.rubyforge.org/) for ruby programmers and, or developers. > > Hence, I'm looking forward to your valuable ideas on how do I format the > following code structures: > > 1) *begin* > > 1.1.1) as per matz: > > begin > expr.. > [rescue [error_type,..] > expr..].. > [else > expr..] > [ensure > expr..] > end > > 1.2.1) but I prefer: > > begin > expr.. > [rescue [error_type,..] > expr..].. > [else # a hanging 'else' clause > expr..] > [ensure # a hanging 'ensure' clause > expr..] > end > > 1.2.2) but I also like: > > begin > expr.. > [rescue [error_type,..] > expr..].. > [else > expr..] > [ensure > expr..] > end vote: 1.1.1 > 2) *case* > > 2.1.1) as per matz: > > case expr > [when expr [, expr]...[then] > expr..].. > [else > expr..] > end > > 2.2.1) but I prefer: > > case expr > [when expr [, expr]...[then] > expr..].. > [else # a hanging 'else' clause > expr..] > end > > 2.2.2) but I also like: > > case expr > [when expr [, expr]...[then] > expr..].. > [else > expr..] > end vote: 2.1.1 why? because it makes it much easier to determine which 'when' goes with which 'case' and which 'rescue' goes with which 'begin' in deeply nested code. eg. (1.1.1) begin begin begin begin rescue else ensure end rescue else ensure end rescue else ensure end rescue else ensure end just becomes madness if begin/rescue/end aren't lined up horizontally and are 100 lines apart as in eg. (1.2.1) begin begin begin begin rescue else ensure end rescue else ensure end rescue else ensure end rescue else ensure end or even 1.2.2 begin begin begin begin rescue else ensure end rescue else ensure end rescue else ensure end rescue else ensure end none of them are easy - but with 1.1.1 and a folding editor it's a least quite managable. cheers - and thanks for working on this project! -a -- =============================================================================== | email :: ara [dot] t [dot] howard [at] noaa [dot] gov | phone :: 303.497.6469 | My religion is very simple. My religion is kindness. | --Tenzin Gyatso ===============================================================================