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 -~----------~----~----~----~------~----~------~--~---