Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > perl.module-authors > #3318 > unrolled thread
| Started by | jkeen@verizon.net (James E Keenan) |
|---|---|
| First post | 2016-10-27 09:20 -0400 |
| Last post | 2016-11-01 11:50 -0400 |
| Articles | 3 — 2 participants |
Back to article view | Back to perl.module-authors
Namespace advice for Git-related package jkeen@verizon.net (James E Keenan) - 2016-10-27 09:20 -0400
Re: Namespace advice for Git-related package Smylers@stripey.com (Smylers) - 2016-10-27 16:25 +0100
Re: Namespace advice for Git-related package jkeen@verizon.net (James E Keenan) - 2016-11-01 11:50 -0400
| From | jkeen@verizon.net (James E Keenan) |
|---|---|
| Date | 2016-10-27 09:20 -0400 |
| Subject | Namespace advice for Git-related package |
| Message-ID | <20161027132039.8796.qmail@lists-nntp.develooper.com> |
I am in the process of developing a CPAN library which I am considering calling Git-Multisect-Perl. The library would have packages with names starting with 'Git::Multisect::Perl::' and would contain an associated command-line utility to be called 'multisect'. Given a Perl library or application kept in git for version control, it is often useful to be able to compare the output collected from running one or several test files over a range of git commits. If that range is sufficiently large, a test may fail in more than one way over that range. If that is the case, then simply asking, "When did this file start to fail?" is insufficient. We may want to capture the test output for each commit, or -- more usefully -- may want to capture the test output only at those commits where the test output changed. Though the library is currently on github.com as 'test-multisect', I'd like to change that because putting 'Test::' first in a Perl package name usually means an extension to Test::Simple, Test::Builder or Test::Harness. It appears that the top-level namespace 'Git::' is used for both libraries that wrap git and those that do something useful with git. This library will fall into the latter category. (In hindsight, perhaps we should have created a top-level 'Gitx::' namespace.) 'Multisect::' is chosen to contrast with 'bisect'. When we speak of bisection in the context of, say, Perl 5 core development and use of Porting/bisect.pl, we're usually looking for a single answer to a question, e.g., at which specific commit did this test file start to experience failures. Recently, however, we have a case where a file failed in different ways over many months. That's the actual use case which led me to develop this library. The '::Perl' in the namespace is intended to say, "This is a way to apply the concept of multisection to typical needs in Perl development such as CPAN distributions and P5P, but we don't want to foreclose the possibility of future libraries which use git to perform multisection in other problem spaces." I'm in the advanced stages of development of this library so, while I welcome advice, I hope to avoid bikeshedding and I recognize that whatever name I go with will make some people unhappy. So be it. Thoughts? Thank you very much. Jim Keenan CPANID: jkeenan
[toc] | [next] | [standalone]
| From | Smylers@stripey.com (Smylers) |
|---|---|
| Date | 2016-10-27 16:25 +0100 |
| Message-ID | <20161027152544.GD2594@stripey.com> |
| In reply to | #3318 |
James E Keenan writes: > I am in the process of developing a CPAN library which I am > considering calling Git-Multisect-Perl. ... > > 'Multisect::' is chosen to contrast with 'bisect'. That hadn't occurred to me. I read it as a contraction of ‘multiple sections’ or similar. > When we speak of bisection in the context of, say, Perl 5 core > development and use of Porting/bisect.pl, we're usually looking for a > single answer to a question, e.g., at which specific commit did this > test file start to experience failures. Recently, however, we have a > case where a file failed in different ways over many months. That's > the actual use case which led me to develop this library. However, ‘bisect’ is a well known word for this activity. Sometimes with naming things it's clearer to be familiar-but-approximate rather than accurate-but-obscure. Once the name has got somebody's attention, the docs can explain nuances. I think Git::MultiBisect or Git::Bisect::Multiple get the idea across more obviously. > The '::Perl' in the namespace is intended to say, "This is a way to > apply the concept of multisection to typical needs in Perl development Unfortunately I don't think it does that. A suffix of ::Perl usually indicates that it's implemented in Perl — either because there's also an ::XS variant, or it's a port of a library that originated in Java or some other language. I'm not sure there is anything which indicates ‘typical for Perl development’. I'd omit that aspect from the name. > we don't want to foreclose the possibility of future libraries which > use git to perform multisection in other problem spaces." Let any hypothetical future rival Git-multi-bisect distribution — and there may not be one — come up with an adjective that distinguishes itself from yours. Alternatively, Devel::Git::MultiBisect would indicate that this is a tool for Perl development use. Good luck! Smylers -- http://twitter.com/Smylers2
[toc] | [prev] | [next] | [standalone]
| From | jkeen@verizon.net (James E Keenan) |
|---|---|
| Date | 2016-11-01 11:50 -0400 |
| Message-ID | <20161101155029.16450.qmail@lists-nntp.develooper.com> |
| In reply to | #3319 |
On 10/27/2016 11:25 AM, Smylers wrote: > James E Keenan writes: > > > Alternatively, Devel::Git::MultiBisect would indicate that this is a > tool for Perl development use. > And that's what I ultimately went with! This is indeed a developer's tool. http://search.cpan.org/dist/Devel-Git-MultiBisect-0.01/ Thank you very much. Jim Keenan
[toc] | [prev] | [standalone]
Back to top | Article view | perl.module-authors
csiph-web