[pacman-dev] [PATCH v2 4/6] pacsearch: fixed regular expression for local searches

Pierre Neidhardt ambrevar at gmail.com
Sun Feb 9 10:49:39 EST 2014


On 14-02-06 21:43:58, Andrew Gregory wrote:
> > These part were always ~ 50% different. It's less thant 10 lines of code anyway,
> > no big deal. Trying to make a common function out of this would result in longer
> > and more complex code I believe.
> 
> The sync search code is 21 lines.  Only 1 line of that is actually
> unique to it and can very easily be moved outside of a consolidated
> function.  The only significant difference between the two is that the
> sync search prints lines it can't parse and the local search doesn't.
> Neither the script nor the git log explains the disparity and I don't
> see any reason to continue it.

I've tried to factor the code into one function and see how it looks. The naive
funcion (without much modification from previous version) had 8 lines common to
both -Ss and -Qs, 3 different lines, and 6 lines added during the factoring
process. No big win if you ask me... It adds one branching in the middle to
execute code specific to either -Ss or -Qs. Ugly. Saved 5 lines in total.

With a little trick I could remove this condition, thus having in total 0
different line (everything is factored) and 6 additional lines. 1 line is run
for nothing in the -Qs case. No big loss, but not very pretty.  The function
calls is not very elegant either. Saved 8 lines in total.

Now we need to decide about what we want: "clarity and efficiency" versus
"compactness and no code duplicates".

I'll post a patch as soon as possible for you to see how it looks.

-- 
Pierre Neidhardt

"Those who believe in astrology are living in houses with foundations of
Silly Putty."
-  Dennis Rawlins, astronomer


More information about the pacman-dev mailing list