Loading ...
Sorry, an error occurred while loading the content.

Re: [jslint] Unexpected use of ++

Expand Messages
  • grahamj_42
    ... And where did the JavaScript for construct come from, if not from C? However, you missed the irony in my post. As anyone who has learned C finds this way
    Message 1 of 8 , Dec 13, 2010
    • 0 Attachment
      --- In jslint_com@yahoogroups.com, Brant Gurganus <brant@...> wrote:

      > Besides what grahamj_42 indicated, citing a reference for a different
      > language doesn't make sense. If such a thing existed, cite K&R
      > JavaScript instead. However, even for C, K&R is a dated source that I've
      > seen encourage bad practices. However, that's a discussion for some
      > other list.

      >

      And where did the JavaScript 'for' construct come from, if not from C?

      However, you missed the irony in my post. As anyone who has learned C finds this way of writing a loop natural, 'i++' is to be expected, and if JSLint doesn't like this perfectly unambiguous expression, it should criticise it in different terms.
    • Jakob Kruse
      I for one think the message/error is pretty clear. You turned on an option to disallow the use of ++ . Then you used ++ . That seems unexpected to me. It
      Message 2 of 8 , Dec 13, 2010
      • 0 Attachment
        I for one think the message/error is pretty clear. You turned on an option to disallow the use of '++'. Then you used '++'. That seems 'unexpected' to me.


        It is not the way in which you use '++' that is unexpected, but that you use it at all.


        /Jakob



        _____

        From: grahamj_42 [mailto:grahamj42@...]
        To: jslint_com@yahoogroups.com
        Sent: Mon, 13 Dec 2010 15:55:32 +0100
        Subject: Re: [jslint] Unexpected use of ++






        --- In jslint_com@yahoogroups.com, Brant Gurganus <brant@...> wrote:

        > Besides what grahamj_42 indicated, citing a reference for a different
        > language doesn't make sense. If such a thing existed, cite K&R
        > JavaScript instead. However, even for C, K&R is a dated source that I've
        > seen encourage bad practices. However, that's a discussion for some
        > other list.

        >

        And where did the JavaScript 'for' construct come from, if not from C?

        However, you missed the irony in my post. As anyone who has learned C finds this way of writing a loop natural, 'i++' is to be expected, and if JSLint doesn't like this perfectly unambiguous expression, it should criticise it in different terms.




        [Non-text portions of this message have been removed]
      • Douglas Crockford
        ... K&R is an excellent book, but it is about an entirely different language. If you are going to be working with JavaScript, you need relevant documentation.
        Message 3 of 8 , Dec 13, 2010
        • 0 Attachment
          --- In jslint_com@yahoogroups.com, "grahamj_42" <grahamj42@...> wrote:
          >
          > var i;
          >
          > for ( i=0 ; i<10 ; i++ )
          > {
          > /* some code */
          > }
          >
          > The i++ here is straight from K&R C, and so should be expected! I
          > haven't found a previous remark about this in the group, so is it a
          > new feature?

          K&R is an excellent book, but it is about an entirely different language. If you are going to be working with JavaScript, you need relevant documentation.

          One of the premises of a code quality tool is that there are features in languages that are problematic. The problem with bad parts isn't that they are useless, but that they are dangerous. They should be avoided if there are safer alternatives.

          In my opinion, ++ and -- are dangerous. They have been implicated in some of the worst OS security bugs. And they seem to confuse people who sometimes use i++ when the mean ++i (as you just did). Confusion leads to bugs.

          So JSLint has an option to warn when they are used. If you are wise, you will change your code to i += 1. But if you choose not to, then stop turning that option on.
        Your message has been successfully submitted and would be delivered to recipients shortly.