/srv/irclogs.ubuntu.com/2010/04/14/#launchpad-meeting.txt

=== Ursinha is now known as Ursinha-afk
=== mrevell is now known as mrevell-lunch
=== mrevell-lunch is now known as mrevell
bac#startmeeting15:00
MootBotMeeting started at 09:00. The chair is bac.15:00
MootBotCommands Available: [TOPIC], [IDEA], [ACTION], [AGREED], [LINK], [VOTE]15:00
bachello and welcome to the mostly-weekly reviewers meeting15:00
bacwho is here today?15:00
sinzuime15:01
abentleyme15:01
bacdanilos, bigjools, gary_poster, gmb: ping15:01
gary_posterme and pinging...15:02
bacEdwinGrubbs, noodles775, jelmer, mars: ping15:02
danilosme15:02
EdwinGrubbsme15:02
bacdanilos: can you round up your team?15:03
danilosbac, only henning is around but seems to not have come back from lunch15:03
bacBjornT: are you interested in attending?  if so i'll continue to ping you.  let me know.15:04
noodles775me15:04
gary_posterfor me team, I pinged leonardr and mars, and salgado is out15:04
gary_posters/me/my/15:04
bigjoolsme15:05
bacallenap: ping15:05
=== Ursinha-afk is now known as Ursinha
bac[topic] agenda15:05
allenapme15:05
MootBotNew Topic:  agenda15:05
marsme15:05
bac* Roll call15:05
bac * Agenda15:05
bac * Outstanding actions15:05
bac * Mentoring update15:05
bac * New topics15:05
bac   * Multiline parameter lists in function definitions vs. function calls [hennnige, jtv]15:05
bac   * Reduction of negation preferred over "common case first" in if statements? [henninge, jtv]15:05
bac   * Should doctests only be testable documentation? [abentley]15:05
bac * Peanut gallery15:05
bac[topic] outstanding actions15:05
MootBotNew Topic:  outstanding actions15:05
bac[topic] * bac to restart discussion on community reviewer/committers after feedback from elmo15:06
MootBotNew Topic:  * bac to restart discussion on community reviewer/committers after feedback from elmo15:06
baci (just barely) did this item by sending an email to the internal list this morning.  i hope we can have a good discussion there and come to a concensus.15:06
bac[topic] mentoring update15:07
MootBotNew Topic:  mentoring update15:07
wgrantFor those of us playing at home, what was the 'feedback from elmo'?15:07
bachi wgrant15:07
noodles775Regarding the mentoring update, jelmer is doing well - holidays this week though :)15:07
bacwgrant: elmo shared the opinion of others that since launchpad is a service with the obligation to protect our user's private data we cannot allow community code contributions to go into the tree that automatically rolls to edge without a Canonical-employee review15:08
wgrantbac: OK. Thanks.15:09
bacwgrant: i'd like to get your feelings on the matter off-line whenever you have time.15:09
bacnoodles775: thanks for the update15:10
bac[topic] * Should doctests only be testable documentation? [abentley]15:10
MootBotNew Topic:  * Should doctests only be testable documentation? [abentley]15:10
* bac going out of order since henninge is not here15:10
* noodles775 sits back a bit.15:10
abentleyI had gotten the impression that we had a consensus that doctests should be testable documentation, and everything else should be unit tests.15:11
bigjoolsthere seems to be some confusion on what testable documentation really is15:11
abentleybigjools, could you expand?15:12
bacdoes testable documentation live in 'doc' directories or is anything that uses the doctest framework?15:12
bigjoolsI was hoping you would :)15:12
bigjoolsabentley: depending on who I speak to they all have a different idea of what constitutes documentation, so I think we need to carefully define what we want to document15:13
danilosI'd say "minimal test that demonstrates how API is used" would be classified as documentation15:13
abentleyPerhaps definitions are part of the problem.15:13
gary_poster"minimal"?15:13
danilosheh, they most certainly are15:13
danilosyes, minimal, at least imho15:13
abentleyMy definition would be a work whose contents were primarily descriptive, but contained examples of how to do things.15:13
gary_posterperhaps it would be better to specify an audience?15:14
gary_posteror...15:14
bacminimal in the sense that real doc tests should test all corner cases15:14
gary_posters/better/helpful/15:14
abentleyBasically, something I might see in a reference book.15:14
bigjoolsmaybe we have use cases for different types of doc tests15:14
bacer s/should/should NOT/15:14
noodles775+1 for abentley's def.15:14
gary_posterbac, danilos, ack15:14
bigjoolsso yes +1 for abentley's as one type, but also it's sometimes useful to see test cases written in a narrative style15:15
abentleyA counterexample would be a work that contained mainly tests, and showed numerouse ways that the API would fail.15:15
gary_posteragree with bigjools, but worried about how to delineate15:15
danilosthere are also corner cases which are tested with a single line of code but need a lot of narrative15:16
gary_posterfine with abentley's general approach15:16
abentleybigjools, many things are useful that are not, on balance, worthwhile.15:16
sinzuiabentley, I prefer your definition. In the view examples you cited, I think base and mixins need documentation since we expect engineers to reuse the view. but most views that get their forms exercised are better tested in unittest15:16
abentleyAIUI, doctests are much slower than unit tests.15:16
abentleyI find they are also fragile.15:17
bigjoolsactually they can be much quicker15:17
bigjoolssince the db is not reset between tests15:17
danilosagain, it's a matter of drawing the lines, and I am positive we can't do it here (anybody remembers actual pagetest stories, or series of stories?)15:18
sinzuiabentley, doctests are faster because they reuse data instead of setting up for each test.15:18
sinzuiabentley, conversely, adding to a doctest can be painful15:18
abentleyAnyhow, our definition of "testable documentation" doesn't matter unless we agree that our doctests should be testable documentation.15:19
danilosand agreeing doesn't matter unless we all consider it a same (or well, similar enough) thing ;)15:19
abentleyI've looked at the test style guide and it definitely doesn't recommend one style over another.15:19
abentleyBut I need to know whether I should be watching for doctests that aren't documentation in my reviews.15:20
bigjoolsI consider an ideal doctest as one that describes to me how I should drive the object it's documenting15:20
henningeme ;)15:21
sinzuibigjools, I agree15:21
bigjoolsanything else distracts15:21
danilosI think you should, but there're also many old tests15:21
abentleybigjools, that sounds somewhat compatible with what I was saying.15:21
danilosfor any new one: request it; for old ones, suggest it15:21
bigjoolsmaybe we need a second doctest dir "unit-doc" and move the old crappy tests into it15:22
bigjoolsthen we have a target to clean up15:22
bigjoolsI figure most of them are soyuz :)15:22
danilosbigjools, +1 (on everything except the name)15:22
sinzuibigjools, abentley I think the distinction is that the documentation may not be in doc/ if is for a non intrerface15:22
abentleybigjools, but a component of "testable documentation" would be prevalence of text, rather than just tests interspersed with a few words.15:22
bigjoolssinzui: +1, that's what I was suggesting a few minutes ago15:23
bigjoolsabentley: we could keep that style, just not put it in "doc"15:23
abentleysinzui, when you say Interface, do you mean the zope construct?15:23
sinzuiabentley, the tests in doc/ should be about what is defined in interfaces/15:24
bigjoolstotally15:25
abentleysinzui, it seems to me that there are items which are not defined there which are useful.15:25
abentleyFor example, the job runner.15:25
sinzuidoc/tales.txt for example15:25
abentleyOr the direct branch committer.15:25
bigjoolsit's obvious to me that we need more than one "doc" directory15:26
gary_posterI think "documenting interfaces" is a subset of abentley's "reference documentation for developers"15:26
sinzuiWhen I document a view mixin, I expect it to be in browser/tests or browser/doc15:26
abentleyIt would seem silly to document IRunnableJob and not the ways of using it, for example.15:27
* sinzui never understood why lp/<app>/tests is where all unittests go except for browser/tests15:27
abentleysinzui, actually, ours usually go in lp/code/model/tests15:28
sinzuiabentley, I know, and that violates the flacoste rules for the apocalypse15:28
* sinzui had actually written migrater rules to put tests below the implementation class15:29
bigjoolscan we drive to a solution here, or do we need to take this to the list?15:30
abentleyOkay, so how do we move this discussion forward?15:30
bigjoolsI am thinking list15:30
sinzuiwe talk about this 3 times a year15:30
noodles775lol15:30
bigjoolsbecause we never agree on anything :)15:31
bacI don't think we're going to come to a decision here.15:31
sinzuithere will be no consensus, We need a dictator15:31
danilosI say *somebody* go and define it; BjornT claimed to be interested in the past15:31
* bigjools steps up15:31
bacSo it is take it to the list again15:31
* sinzui wants a doctest-> unittest converter though15:31
bigjools+1k15:31
danilosbigjools: dictate! :)15:31
bigjoolsdanilos: clean my shoes15:31
danilossinzui, we've got one, it's called "sinzui"15:31
sinzuibac: why the list, why not ask that we read all the previous threads15:32
bigjoolslmao15:32
danilosbigjools, anyone, you heard the dictator :)15:32
bacsinzui: hmmm, good point15:32
danilosno lists, no discussions, somebody who cares enough go ahead and define the policy, put it in the wiki and we'll start pointing people at it in our reviews15:33
gary_postersigh15:33
gary_posterwhat, did I say something?  don't mind me. :-)15:33
sinzuiI think this discussion has been productive. abentley and bigjools provided good definition of documentation and I think all of us can find doctests that fail that definition15:33
bigjoolsthis is important enough to gather more opinions please15:34
noodles775sinzui: +115:34
daniloswe'll get opinion as we build the policy15:34
daniloss/opinion/opinions/15:34
bigjoolsdoes else anyone want to create a second doctest dir to shove all the non-interface documentation into?15:34
daniloswe can even create a standard topic in this meeting to discuss what has come up during reviews last week15:35
sinzuiWe are an open source project now, we do not need democracy, we want leadership via meritocracy.15:35
bigjoolsor the other way, make a new one to put the interface docs in15:35
abentleyIs there anyone against the idea of requiring that new doctests are testable documnetation?15:35
danilosbigjools, I don't mind15:35
danilossinzui, +115:35
sinzuiabentley, +115:35
bigjoolsyes, provided there's a written definition of what that is15:36
bigjoolsbut you said it earlier so c&p is fine15:36
noodles775abentley: +1, and even a strong push that when updating current doctests, converting them.15:36
gary_posterfine with me15:36
bacok, so it *does* sound like we're coming to an agreement15:36
noodles775s/current doctests/current doctests that are not documentation15:37
bacI will take the item of collecting the thoughts and making a first draft of the new policy on the wiki, for us to refine later.15:37
danilos(I'd say we've always had a majority agreement on high-level points, we just never implemented that agreement into policy)15:37
danilosbac, thanks a lot!15:37
abentleybac, thank you.15:37
bac[action] bac to define new doctest policy.15:37
MootBotACTION received:  bac to define new doctest policy.15:37
bacand we can have more focused discussions on the finer points here in the coming weeks15:38
bacthank you abentley for pushing the discussion forward15:38
sinzuibac will take off his mask as reveal that he is the supreme leader15:38
abentleybac, np.15:38
gary_posterheh15:38
bac[topic] * Multiline parameter lists in function definitions vs. function calls [hennnige, jtv]15:38
MootBotNew Topic:  * Multiline parameter lists in function definitions vs. function calls [hennnige, jtv]15:38
henningeAh yes.15:39
bacnote we have six minutes, so let's not dawdle...15:39
henningeI have since been told that this has been discussed recently, so now I am just asking what I should put in the style guide.15:39
henningehttp://paste.ubuntu.com/414360/15:39
MootBotLINK received:  http://paste.ubuntu.com/414360/15:39
daniloshenninge, afaik, we've allowed both styles so far15:40
henningeThere seems to be different ways to format multi line definitions to multi-line calls, is that correct?15:40
daniloshenninge, or well, perhaps not for function definitions15:40
bacmost multi-line fcn calls don't follow the style shown15:40
abentleydanilos, for function calls, I have not been allowed to use the first style.15:40
henningeor was I told rubbish?15:40
daniloshenninge, you can use the first style for calls as well; second style is not customary in function defs15:41
henningedanilos: style guide only allows the second style for calls.15:42
noodles775abentley: that's what the paste shows, that the styleguide *currently* says the second for calls... and not the first.15:42
henningenoodles775: yes, I was told, though, that somewhere it was agreed to use the first for definitions.15:42
abentleynoodles775, right.  danilos seemed to be suggesting using the first style for function calls was permissible.15:42
henningeI am just asking if that is the case and  I'll update the style guide.15:43
noodles775Yep, so if so, let's update the styleguide :)15:43
* danilos thought it was, and I've written numerous lines of code in that style and nobody complained15:43
henningedanilos: get jtv as a reviewer ...15:43
henninge;-)15:43
bacdanilos: me too.  i prefer the first.15:43
henningebac: for calls or definitions?15:44
abentleyUsing the first style for function calls does have the advantage that it's suggested in PEP-815:44
henningewe could simple allow both styles for both situations15:44
bachenninge: calls.  the first only for defn15:44
daniloshenninge, I prefer them for both, I resort to second style for calls only when function name is already long and I'd need 5 lines for 5 parametes15:44
danilosbac, +115:45
henningebac, danilos +115:45
henningeI'll put that in the style guide.15:45
bigjoolsif your function call params are spreading that far, I'd be tempted to make a container object, FWIW15:45
bacdo we need a vote?15:45
baci think not.15:45
danilosbigjools, sometimes just the function name is long15:45
bigjoolsdanilos: shrtn it :)15:45
bac[action] henninge to update the style guide15:45
MootBotACTION received:  henninge to update the style guide15:45
danilosbigjools, we can start considering names like 'zap_it' :)15:45
henningebtw, style guide is this to me: https://dev.launchpad.net/PythonStyleGuide15:45
bachenninge: may we roll your other item to next week?15:46
henningebac: that's fine.15:46
bacgreat.15:46
bacthis has been a very productive meeting.15:46
bacthanks for coming and participating.15:46
bac#endmeeting15:46
MootBotMeeting finished at 09:46.15:46
bigjoolsthanks bac15:47
abentleybac, thanks.15:47
danilosbac, all, thanks15:47
gary_posterthank you15:48
=== danilos is now known as daniloff
=== gary_poster is now known as gary-lunch
=== gary-lunch is now known as gary_poster
=== EdwinGrubbs is now known as Edwin-lunch
=== Edwin-lunch is now known as EdwinGrubbs

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!