On 2010-10-13, Jean-Michel Pichavant <jeanmic...@sequans.com> wrote: > If you wonder about some defects reported by such linters, you can then > ask in this list why something is not that good, because it may not be > always obvious.
> 'pylint' is one them, pretty effective. Okay, several questions about stuff pylint found. 1. If I have a message that I wish to print, it is quite possible that message + indentation exceeds 80 lines. What's the idiomatic way to solve this? Do I just break the string up into parts, or do I just accept that some lines are over 80 characters, or what? 2. It warns about **kw, both because the name is short and because of the "** magic". I was previously advised that the name "kw" is canonical for that usage, in which case, why am I getting linted at? 3. More generally, the usage of **kw is probably not really right, but I'm not sure what to do. The issue here is as follows: In C, some functions have an optional argument with the curious trait that, if present, it is always of the same type. e.g., open(2). In my wrappers, I indicate this by declaring it as something like "...{mode_t mode}". The intent is that in a declaration, this will turn into: foo(blah blah blah, ... /* mode_t mode */) so there's an indication of why there's a "..." there. But C comments don't nest. And there's a couple of points where I want to put the declaration in a comment. So in those cases, I need to do something other than /*...*/: /* foo(blah blah blah, ... mode_t mode) */ The problem: The determination of whether I wish to do this is at the level of the "represent this function in the following way" (Function.comment()), but the implementation is two layers down. So right now, I am passing down 'comment = True' from the top level through, and I'm doing it using a **kw keyword argument. The rationale is that I could just use def decl(comment = False): ... but then the invocation: func.decl(True) would be utterly opaque. I want to name the thing I'm passing or otherwise indicate what it is. It could be that I am Doing This Wrong. Is there a good idiom for labeling optional arguments, and passing them on (if they exist)? -s -- Copyright 2010, all wrongs reversed. Peter Seebach / usenet-nos...@seebs.net http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated! I am not speaking for my employer, although they do rent some of my opinions. -- http://mail.python.org/mailman/listinfo/python-list