[Geany-devel] Default snippets
Lex Trotman
elextr at xxxxx
Fri Aug 26 12:04:01 UTC 2011
On 26 August 2011 20:57, Alexander Eberspächer
<alex.eberspaecher at gmail.com> wrote:
> Dear Lex, dear list,
>
> On Fri, 26 Aug 2011 20:39:38 +1000
> Lex Trotman <elextr at gmail.com> wrote:
>
>> My 0.5c worth, in C++ it is important to pre-increment unless you
>> really need the previous value since post increment could create a
>> wasted expensive copy of an object. Although an int isn't expensive,
>> it is probably better to make it ++i in the for loop so it agrees with
>> the usual idiom.
>
> I changed that for C++ (revised patch attached).
>
> Now that we go into details, let's briefly discuss assumptions being
> made by those snippets:
>
> The snippets for the loops assume that the counting variable is shall
> be i.
Thats traditional...
> Furthermore, it is assumed that i was not declared before.
For C++ its fine to re-declare i within the loop, it will hide any
external declaration.
This
> seems to work for most people, however, I personally would opt for
> completion of
>
> "do"
>
> to
>
> "for (%cursor%)
> {
>
> }"
>
Thats a bit counter-intuitive since there is a do statement, and it is
post tested rather than pre-tested like for. Maybe use something else
for for two (pun intended :) or change the original
In C++ it is more common than in C to use other loop operations (eg
iterators) not just simple counters, so maybe the blank version would
be better as the main for entry for C++.
> In this case, the name of the counting variable is to be filled in by
> the user (I left that decision to the user in the Fortan snippets,
> too [1]). Changing the snippets towards less assumptions changes
> Geany's default behaviour.
Maybe you should preserve default behavior on the basis that someone
decided it to be that way, unless you know no one cares.
For C++ IIUC it just works like C because thats what Geany is written in.
>
> So, what do we want here? Anyone else +1 for less assumptions about what
> the user wants?
>
> Cheers
>
> Alex
>
> [1] Considering that Fortran is mostly used in scientific computing, I
> think it is reasonable to assume that `i` is not the variable the user
> wants to loop over.
I dunno, all the sigmas I remember used i & j, and in original fortran
all variables starting with i to n were integers, so again tradition
has it to use i,j,k,l,m,n.
Cheers
Lex
PS You seem to have got a copy of the for entry tacked on to the end
of the switch snippet for C++ & C#
PPS there seem to be line breaks in some entries, (eg switch) entries
must be on one line
More information about the Devel
mailing list