Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. Clever Code
  4. Strongly-typed typo

Strongly-typed typo

Scheduled Pinned Locked Moved Clever Code
14 Posts 11 Posters 72 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Luc Pattyn

    I haven't seen a language yet that imposes (or allows you to impose) a minimal Hamming distance[^] between identifier names. :)

    Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

    Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

    S Offline
    S Offline
    Steve Wellens
    wrote on last edited by
    #5

    It threw you a curve eh?

    Steve Wellens

    1 Reply Last reply
    0
    • E elektrowolf

      return new Vector3(r * (float)Math.Cos(theta), r * (float)Math.Sign(theta), z);

      And I thought I was safe from typos using a strongly-typed language.. :doh: Took me hours to figure this one out.

      V Offline
      V Offline
      Vasudevan Deepak Kumar
      wrote on last edited by
      #6

      Shouldn't the compiler be a little more proactively smart enough to throw out a little warning at least w.r.t. context-sensitiveness?

      Vasudevan Deepak Kumar Personal Homepage
      Tech Gossips
      The woods are lovely, dark and deep, But I have promises to keep, And miles to go before I sleep, And miles to go before I sleep!

      E 1 Reply Last reply
      0
      • V Vasudevan Deepak Kumar

        Shouldn't the compiler be a little more proactively smart enough to throw out a little warning at least w.r.t. context-sensitiveness?

        Vasudevan Deepak Kumar Personal Homepage
        Tech Gossips
        The woods are lovely, dark and deep, But I have promises to keep, And miles to go before I sleep, And miles to go before I sleep!

        E Offline
        E Offline
        elektrowolf
        wrote on last edited by
        #7

        Vasudevan Deepak Kumar wrote:

        Shouldn't the compiler be a little more proactively smart enough to throw out a little warning at least w.r.t. context-sensitiveness?

        How should he possibly do that? Best solution I can come up with is providing a Math.PolarToCartesian function...

        V 1 Reply Last reply
        0
        • E elektrowolf

          Vasudevan Deepak Kumar wrote:

          Shouldn't the compiler be a little more proactively smart enough to throw out a little warning at least w.r.t. context-sensitiveness?

          How should he possibly do that? Best solution I can come up with is providing a Math.PolarToCartesian function...

          V Offline
          V Offline
          Vasudevan Deepak Kumar
          wrote on last edited by
          #8

          With other tan/cos being used in the same context it can alert if sign is being inadvertently used in lieu of sine?

          Vasudevan Deepak Kumar Personal Homepage
          Tech Gossips
          The woods are lovely, dark and deep, But I have promises to keep, And miles to go before I sleep, And miles to go before I sleep!

          S P 2 Replies Last reply
          0
          • V Vasudevan Deepak Kumar

            With other tan/cos being used in the same context it can alert if sign is being inadvertently used in lieu of sine?

            Vasudevan Deepak Kumar Personal Homepage
            Tech Gossips
            The woods are lovely, dark and deep, But I have promises to keep, And miles to go before I sleep, And miles to go before I sleep!

            S Offline
            S Offline
            S Senthil Kumar
            wrote on last edited by
            #9

            Well, the "compiler" knows only the language, not the libraries. There is no way it can possibly know beforehand about the existence of a Math class with two methods, Sign and Sine, much less associate Tan and Sine and figure out that the user probably wanted Sine instead of Sign. A source code analysis tool like FxCop could probably do a better job at this.

            Regards Senthil _____________________________ My Home Page |My Blog | My Articles | My Flickr | WinMacro

            1 Reply Last reply
            0
            • E elektrowolf

              return new Vector3(r * (float)Math.Cos(theta), r * (float)Math.Sign(theta), z);

              And I thought I was safe from typos using a strongly-typed language.. :doh: Took me hours to figure this one out.

              P Offline
              P Offline
              peterchen
              wrote on last edited by
              #10

              ouch!

              Agh! Reality! My Archnemesis![^]
              | FoldWithUs! | sighist | µLaunch - program launcher for server core and hyper-v server.

              1 Reply Last reply
              0
              • V Vasudevan Deepak Kumar

                With other tan/cos being used in the same context it can alert if sign is being inadvertently used in lieu of sine?

                Vasudevan Deepak Kumar Personal Homepage
                Tech Gossips
                The woods are lovely, dark and deep, But I have promises to keep, And miles to go before I sleep, And miles to go before I sleep!

                P Offline
                P Offline
                peterchen
                wrote on last edited by
                #11

                In Addition, even if the compiler knew the libraries, there's no distinct way to tell right from wrong - Cos(x)*Sign(x) is as valid an operation as Cos(x)*Sin(x). The latter may be more common overall, but that doesn't mean it has to be for my application. (Besides, I don't believe much in the total greatness of "people who used Math.Cos also used the following functions...". Even if it's great for discovering things you might like, you'll have a hard time finding something special.)

                Agh! Reality! My Archnemesis![^]
                | FoldWithUs! | sighist | µLaunch - program launcher for server core and hyper-v server.

                1 Reply Last reply
                0
                • E elektrowolf

                  return new Vector3(r * (float)Math.Cos(theta), r * (float)Math.Sign(theta), z);

                  And I thought I was safe from typos using a strongly-typed language.. :doh: Took me hours to figure this one out.

                  D Offline
                  D Offline
                  Derek Viljoen
                  wrote on last edited by
                  #12

                  As someone who started out coding with 'vi' I find it amusing what people find annoying in modern IDEs. Sad that you wasted so much time, but if you think about everything the IDE was doing to help you ... not a lot to complain about there.

                  D D 2 Replies Last reply
                  0
                  • D Derek Viljoen

                    As someone who started out coding with 'vi' I find it amusing what people find annoying in modern IDEs. Sad that you wasted so much time, but if you think about everything the IDE was doing to help you ... not a lot to complain about there.

                    D Offline
                    D Offline
                    dawmail333
                    wrote on last edited by
                    #13

                    He never said he found the IDE annoying: he was just saying that he mistakenly though that he could avoid typos by using a strongly typed language. Silly man :laugh: Typos are inveitable. Truly so. ;P

                    1 Reply Last reply
                    0
                    • D Derek Viljoen

                      As someone who started out coding with 'vi' I find it amusing what people find annoying in modern IDEs. Sad that you wasted so much time, but if you think about everything the IDE was doing to help you ... not a lot to complain about there.

                      D Offline
                      D Offline
                      Dave Calkins
                      wrote on last edited by
                      #14

                      nothing to do with IDEs in this one. you could write that code in vi and have the same problem :)

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups