On 2014-09-24 21:10:11 -0300, Raphaël Droz wrote:
> I had a quick look at Friebel's version. Indeed it implements the
> above requested features. Anyway, I found it much less readable that
> Gentoo's version.

I agree that it isn't much readable. Well, not that exactly. The
main problem is that it lacks comments / internal documentation.
This didn't prevented me from doing some local changes.

> It actually used functions, but too many of them (although simple
> wrappers). I couldn't tell if its "overkill" or "flexible" enough,
> but from a code readability POV it's seems more difficult.
> 
> - Things like cmd_exist(), filecmd(), msg() or show() seems more annoying
>   than really useful.

cmd_exist() is useful to avoid spurious errors when a command hasn't
been installed (the "&& return 0 || return 1" is probably useless,
though, except if the goal was to make it work with "set -e").

I wonder why filecmd() isn't merged with filetype(). Otherwise it
is useful.

msg() seems to be new (I still use an old version, where it isn't
present).

I don't think that show() is useless: it has recursive calls.

> - All the things like: ${rest1#$sep}, ${rest11%%$sep*}, or
>   ${rest11#$file2} in show(), while valid bash-expression makes the code
>   less readable.

I completely disagree. This is standard POSIX shell syntax, which
can be found in many shell scripts, and I had never heard of any
complaint. It's faster than invoking sed.

As a comparison, zsh internal scripts are really unreadable, because
this kind of transform is often done in a nested way, with various
flags that change the behavior.[*] But here, this is simple enough.

[*] As examples:
  lopts+=("${^tmp[@]}":${${${opt//:/-}//\[/(}//\]/)})
  "$tmpargv[(I)(|\([^\)]#\))(|\*)${opt}(|[-+]|=(|-))(|\[*\])(|:*)]"
  \${tmp#\${(j(${sep}))~\${(@)\${(@)keys[2,(rn:num:)\$key]}/*/*}}${~sep}}

> - All the istar(), isdvi(), ... 1 to 5 lines wrappers does not make
>   lesspipe more friendly as are the if/elif constructs. In this regard
>   the clear and simple "case" construct of the Gentoo version is more
>   readable and maintainable for features equality.

Yes, a "case" construct may be better.

-- 
Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to