Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^10: regexp class (no bugs)

by JavaFan (Canon)
on Sep 04, 2011 at 00:38 UTC ( #924031=note: print w/replies, xml ) Need Help??


in reply to Re^9: regexp class (no bugs)
in thread re: regexp class

Failing to implement required features makes the code incomplete. It doesn't mean the code contains any bugs.
That's an utterly weird definition of not having bugs.

Pray tell me, how do you define a bug? I guess if the requirement is to multiply two numbers $x, and $y, $x + $y isn't a bug, it's merely incomplete (it just doesn't do the right thing yet for inputs other than (0, 0) or (2, 2)).

Replies are listed 'Best First'.
Re^11: regexp class (no bugs)
by BrowserUk (Patriarch) on Sep 04, 2011 at 01:45 UTC
    I guess if the requirement is to multiply two numbers $x, and $y, $x + $y isn't a bug, it's merely incomplete

    No. And you know it. That's another "silly extremes" example. It's just an attempt to try and "win an argument", rather than further a technical discussion.

    A photo editor that has a red-eye feature that turns all eyes red, has a bug.

    But if it doesn't have a sepia filter, it doesn't have a bug, it just doesn't support that feature.

    The difference is clear and easily understood.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
    A reply falls below the community's threshold of quality. You may see it by logging in.
Re^11: regexp class (no bugs)
by armstd (Friar) on Sep 06, 2011 at 18:16 UTC
    Failing to implement required features makes the code incomplete. It doesn't mean the code contains any bugs.
    That's an utterly weird definition of not having bugs.

    Ah, bug religion. Good stuff. I also come from the school of "required features are enhancements, not bugs." Each feature is an enhancement of "nothing."

    Each product release will incorporate required new features, existing feature enhancements, and existing feature bugfixes. If the required features and enhancements are not done, the release is not complete.

    An important issue here is that a product can be released, whether its "dev complete" or not. Now whether those unimplemented features become "bugs" or not really depends on the documentation and marketing. It's a bug for a customer if the docs say a feature exists when it doesn't. Whether its treated as a functional bug or a documentation bug though... well that's a business decision.

    --Dave

      That's all fine and such, but the thread started from the assumption the OP coworker actually have a task to accomplish. Not doing said task isn't "a feature not implemented yet".
      An important issue here is that a product can be released
      "here"? In which sense? The OP is teaching his coworkers regular expressions as tools. To be used to generate the product to be delivered. It's on those tools the OP claimed "less code is less bugs" - to which I objected.

      Now whether those unimplemented features become "bugs" or not really depends on the documentation and marketing.
      Really? That's all? Djees, I wish I had know that years ago. All those time I've been working from specifications and customer wishes - and now you're telling me they don't matter? If I just don't document what I haven't implemented (or haven't implemented correctly), my delivered product doesn't have bugs! Can I keep the test suite, even if it fails?

      So, I guess with the following commands you could remove all the bugs in Perl at once:

      $ git clone ssh://perl5.git.perl.org/gitroot/perl $ git rm pod/* $ echo "Perl is bugfree" > README $ git commit -m "Removed all bugs from Perl" -a $ git push origin blead
      Quick, put in a grant proposal for the perl5 maintenance fund before Nick and Dave do it the hard way!

        A hammer is not a screwdriver. Is a hammer buggy or incomplete if it can't drive screws? No. Does it satisfy the requirement for a screwdriver? No. Is it a problem if you call a hammer a screwdriver and expect it to drive screws? Yes, for you. Not so much for the customer that had a bunch of nails and called them screws though.

        It happens. It has happened. It will continue to happen. Customers will be delighted by the products they never asked for, customers will be disappointed by the products they asked for and never got. Whatever. That's business, and I'm an engineer. Whether that's good for business... meh.

        Seriously, have you seen the Stanley FatMax Xtreme Fubar? I surely never specified that, but I still ended up with it in my toolbox. Sweeeet.

        http://www.stanleytools.com/catalog_images/mid_res/55-099_mid_res.jpg

        --Dave

Re^11: regexp class (no bugs)
by jdporter (Chancellor) on Sep 19, 2011 at 15:46 UTC

    I'm with JavaFan on this one. If a product is alleged to have feature X and it doesn't, that's a bug. But I think there is some grey area, due to the vagueness of "alleged". On one hand, if the feature set was defined up front, based on specifications from a "customer", and the delivered product doesn't implement one of those features, that's a bug. OTOH, if it's some kind of commercial product, where feature sets are really driven by internal processes, then a "not implemented yet" feature isn't much of a bug. Of course, the term "bug" itself is vague; every stakeholder has a different idea of what "bug" means. To the coder, a bug might only mean code which contains a flaw. To project management, a bug is a certain kind of record in the tracking system. To a customer, a bug is any variance between the spec and the delivered implementation. And so on. Whose opinion matters most?

    Also, under test-driven development, missing features are usually actual bugs, by just about any definition. This is particularly true if the "not done yet" feature is depended upon by other parts of the system.

    I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.
      If a product is alleged to have feature X

      Alleged? By whom? When? On what basis? And whom alleges that someone alleged that the product had this feature?

      The problem with not intelligently differentiating between missing features and bugs, is that it makes it impossible to prioritise properly.

      A bug is (should be) a higher priority than a missing feature. It is something that prevents an implemented feature from being useful until it is fixed.

      A missing feature is lower priority because if the bugs in the implemented code are fixed, a less featured product may still be useful and shippable.

      And that pretty much addresses your "dependant feature" argument. If an implemented feature doesn't work without an unimplemented feature, then both are miss-categorised. The dependent isn't complete, so is not yet an implemented feature. And the dependency is not a feature, but an unimplemented subset of the dependant feature's functionality.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        Alleged? By whom? When? [etc.]

        Exactly right. Hence, there is some grey area, due to the vagueness of "alleged". At least we agree on that point.

        The problem with not intelligently differentiating between missing features and bugs, is that it makes it impossible to prioritise properly.
        A bug is (should be) a higher priority...
        A missing feature is lower priority...

        That's not particularly controversial, but it presumes that "bug" and "missing feature" can always, necessarily, be differentiated. I.e. it's premised upon you being right when you say "a missing feature is not a bug."

        And that pretty much addresses your "dependant [sic] feature" argument.

        It wasn't an argument, it was a mere observation.

        I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://924031]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2023-12-10 13:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?











    Results (40 votes). Check out past polls.

    Notices?