On Fri, Jun 5, 2009 at 3:46 PM, Hans Donner <hans.don...@pobox.com> wrote:

>
> what is it you do not understand? perhaps I can exaplin it better.


Hans -

I get the general idea you are trying to convey ---  for web2conf, we put
many configuration items into 'CONSTS' (ok, variables that should not be
changed, except in the config file) ... and we probably went too far.

In general, there's a balance between readability and DRY  (e.g. avoiding
errors).

For "type" checking, tests return strings in python, and these are generally
most readable if the tests are against strings too (too much DRY can result
in obfuscation, readability falling).


> Examples of 'strings'
> - in PasswordWidget (sqlhtml.py) there is the default display for a
> password, in FORM.accepts this is also re-used


The string '*********'  I would prefer to see as that;  in all of web2py, it
occurs only in sqlhtml.py, and only 3 times, twice to set, and once to
test.   I suppose for errors, something like 8*('*')  might be used (matter
of preference).


> - In the top of sql.py, when loading the drivers 'Postgre' is used as
> a key, while later it looks like it is referred to as 'Postgres'


In all of web2py source,  there is only ONE string starting with
'Postg.....   and that is (as you point out) probably a typo; as you can
see, drivers (the list this string is appended to) is a list of drivers
available in your installation.  It is only used for text display at startup
of web2py, in widget.py, in start() .... for startup dialog....  I don't see
any compelling reason to change this from a string.

But I think your point is well taken - it would be particularly useful for
readability to assign regular expressions to descriptive names (regardless
of how many times they are used)...  or even to a concatenation of readable
chuncks.

So keep looking for places to suggest readability improvements - don't be
discouraged from your instincts - they are good!

Kind regards,
Yarko

>
>
> On Fri, Jun 5, 2009 at 10:29 PM, mdipierro<mdipie...@cs.depaul.edu> wrote:
> >
> > I do not understand. I am sure it is because of lack of sleep and
> > headache due to broken glasses (waiting for a replament).
> >
> > Massimo
> >
> > On Jun 5, 3:09 pm, Hans Donner <hans.don...@pobox.com> wrote:
> >> could be my upbringing and my fat fingers/reliance on autocompletion,
> >> but I see a lot of repetitive code and strings, eg
> >> table_field = re.compile('[\w_]+\.[\w_]+') and 'keyname' etc.
> >>
> >> like the table_field being present in multiple files, why not move
> >> them to some shared globals and import from there?
> >>
> >> any reason why frequently reused keynames are not provided as CONST?
> >> Esp when used in different parts of web2py.
> >> This might also prevent the 'Postgre' (missing s?) in sql.py
> >>
> >> I've only been using python for a short time, so this might be the
> >> python way to do it.
> >>
> >> Hans
> > >
> >
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to