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. The Lounge
  3. AARRGGHHHH!!!!!

AARRGGHHHH!!!!!

Scheduled Pinned Locked Moved The Lounge
comfunctionalquestion
58 Posts 27 Posters 0 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.
  • P Paul Benson

    Interesting discussion. I found var a bit difficult to cope with at first as it does hide the actual type. Fortunately many IDEs will, as has been pointed out elsewhere, give you the type if you hover over the 'var'. This, however, doesn't help when dealing with printed/quoted code snippets or when working in an environment that doesn't reveal the type. So, my definition of 'appropriate' is where the type is obvious (usually because the assignment includes the type as part of a 'new' or a typecast of some kind) or because the type is so complicated that it obfuscates itself (e.g. nested generics with multiple parameters). In the latter case I either rely on VS for an explanation or, where possible, simplify the type by creating a new wrapper class/struct with XML help to explain what the class is about. The basic rule is "Think about other people when writing your code." Always ask yourself 'Can this be understood without having to look through reams of code or relying on an IDE to find variable/type definitions?' If not can it be simplified or explained?" If all else fails use a comment to explain (and thereby starts another argument :sigh: ).

    F Offline
    F Offline
    Fabio Franco
    wrote on last edited by
    #47

    Couldn't agree more with you. I would also like to add that even if you have Visual Studio it interrupts reading and interpreting the code. Making it harder to understand for someone that is reading the code for the first time. I blame ReSharper for the fever of using var everywhere. That's the argument of many: "Oh, but Resharper says to use var everywhere". I wish I knew who at ReSharper dev team decided it was a good thing.

    To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

    P 1 Reply Last reply
    0
    • M Mladen Jankovic

      I am. Why the hell not? It's more aesthetically pleasing and in most cases it does not reduce readability (for me, for you - don't care). I haven't use it much in C# before C++11 assigned new meaning to auto. Then I started replacing crap like this std::unordered_map<std::string, boring_class>::const_iterator with auto and then moved the habit to C#.

      Commodore 64 emulator for Windows Phone

      F Offline
      F Offline
      Fabio Franco
      wrote on last edited by
      #48

      Hardly the rule and only applicable for complex names. Now, people use it on method returns and everywhere. I happen to be in a position that I have to read a lot of other people's code and it's a pain to read them when var is used everywhere. On generic types it's even more disrupting.

      To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

      1 Reply Last reply
      0
      • S Slacker007

        Thank you. Exactly.

        F Offline
        F Offline
        Fabio Franco
        wrote on last edited by
        #49

        How often do you have to declare stuff like in C++ std::unordered_map::const_iterator? It's hardly the rule. If you're declaring

        Tuple, KeyValuePair>

        or something like that, maybe it makes sense. But more often than not, it doesnt.

        To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

        1 Reply Last reply
        0
        • M Marc Clifton

          I absolutely despise when people say "oh, I'm using this because it reduces the amount of code I have to type". F**** me. If you don't like typing, why are you a programmer? I need a punching bag in my home-office. Marc

          Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!

          F Offline
          F Offline
          Fabio Franco
          wrote on last edited by
          #50

          F*** me too. And Resharper that says lazy mode var is a good thing. :mad:

          To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

          1 Reply Last reply
          0
          • G GuyThiebaut

            V. wrote:

            Knock yourself one out!

            Not sure if you intended to, or did so by mistake, but that phrase has a very particular meaning. Maybe type the phrase into google images and click on the I'm feeling lucky button :~

            “That which can be asserted without evidence, can be dismissed without evidence.”

            ― Christopher Hitchens

            V Offline
            V Offline
            V 0
            wrote on last edited by
            #51

            I didn't know :doh:

            V.
            (MQOTD rules and previous solutions)

            1 Reply Last reply
            0
            • M Marc Clifton

              I absolutely despise when people say "oh, I'm using this because it reduces the amount of code I have to type". F**** me. If you don't like typing, why are you a programmer? I need a punching bag in my home-office. Marc

              Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!

              G Offline
              G Offline
              Gerald Gardner
              wrote on last edited by
              #52

              If I liked typing I'd have been a typist. If I could write code without typing at all I would. BTW: I almost exclusively use "var" and see little wrong with it. I guess I'm an "implied typist"! :laugh: But I also use bigLongVariableNames, because that's where the real value of all those extra characters comes in.

              9 1 Reply Last reply
              0
              • P PIEBALDconsult

                JimmyRopes wrote:

                They unify the way many various things are accessed

                To the lowest common, and therefore the least efficient, method possible. And it's unreadable.

                J Offline
                J Offline
                JimmyRopes
                wrote on last edited by
                #53

                PIEBALDconsult wrote:

                To the lowest common, and therefore the least efficient, method possible.

                Is this just speculation or can you cite data to back up your psition?

                PIEBALDconsult wrote:

                And it's unreadable.

                I, personally, find this a lot more readable than the alternative.

                XDocument xml = XDocument.Load(Environment.GetEnvironmentVariable("SystemDrive") + @"\manifest.xml");

                            var oledbconn = from el in xml.Root.Elements("webservice")
                                            where el.Attribute("name").Value == ServiceName
                                            select el.Element("OleDbConnection").Value;
                            OleDbConnectionString = oledbconn.FirstOrDefault();
                

                You, of course, are entitled to your opinion.

                Once you lose your pride the rest is easy. In the end, only three things matter: how much you loved, how gently you lived, and how gracefully you let go of things not meant for you. – Buddha Simply Elegant Designs JimmyRopes Designs

                1 Reply Last reply
                0
                • G Gerald Gardner

                  If I liked typing I'd have been a typist. If I could write code without typing at all I would. BTW: I almost exclusively use "var" and see little wrong with it. I guess I'm an "implied typist"! :laugh: But I also use bigLongVariableNames, because that's where the real value of all those extra characters comes in.

                  9 Offline
                  9 Offline
                  9082365
                  wrote on last edited by
                  #54

                  Exactly. Typing (in all senses) is merely a means to an end. Any author will tell you that they hate typing too. It's not why we or they do what we or they do.

                  1 Reply Last reply
                  0
                  • M Marc Clifton

                    I absolutely despise when people say "oh, I'm using this because it reduces the amount of code I have to type". F**** me. If you don't like typing, why are you a programmer? I need a punching bag in my home-office. Marc

                    Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!

                    J Offline
                    J Offline
                    jschell
                    wrote on last edited by
                    #55

                    Marc Clifton wrote:

                    If you don't like typing, why are you a programmer?

                    Maybe you should educate them on how to be a professional rather than an amateur. Professionals understand that code is part of a process and not the sole point of development. Of course other parts of the process are architecture, design, implementation, testing and maintenance. Not to mention the cost of all of those. Of those steps the part that "reduces" code is only one part. Unless it does, objectively, reduce the cost overall then it isn't in fact professional. At a minimum it must be easier to maintain (thus understand) for the average programmer that works at the company. If it doesn't then it isn't cost effective and therefor it fails.

                    1 Reply Last reply
                    0
                    • F Fabio Franco

                      Couldn't agree more with you. I would also like to add that even if you have Visual Studio it interrupts reading and interpreting the code. Making it harder to understand for someone that is reading the code for the first time. I blame ReSharper for the fever of using var everywhere. That's the argument of many: "Oh, but Resharper says to use var everywhere". I wish I knew who at ReSharper dev team decided it was a good thing.

                      To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                      P Offline
                      P Offline
                      Paul Benson
                      wrote on last edited by
                      #56

                      Fabio Franco wrote:

                      I blame ReSharper for the fever of using var everywhere.

                      Indeed! :| That's why I quickly felt pressured into using var. However, as with most things ReSharper, you can turn off the 'hint' in the ReSharper settings if the nagging gets too much and your employer's required coding style doesn't prohibit it. :-D

                      F 1 Reply Last reply
                      0
                      • P Paul Benson

                        Fabio Franco wrote:

                        I blame ReSharper for the fever of using var everywhere.

                        Indeed! :| That's why I quickly felt pressured into using var. However, as with most things ReSharper, you can turn off the 'hint' in the ReSharper settings if the nagging gets too much and your employer's required coding style doesn't prohibit it. :-D

                        F Offline
                        F Offline
                        Fabio Franco
                        wrote on last edited by
                        #57

                        Paul Benson wrote:

                        ou can turn off the 'hint' in the ReSharper settings

                        Yeah, but by that time, ReSharper already damaged the new devs. :(

                        To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                        1 Reply Last reply
                        0
                        • M Marc Clifton

                          I absolutely despise when people say "oh, I'm using this because it reduces the amount of code I have to type". F**** me. If you don't like typing, why are you a programmer? I need a punching bag in my home-office. Marc

                          Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!

                          P Offline
                          P Offline
                          pl 2
                          wrote on last edited by
                          #58

                          :thumbsup: I like typing (slow typing) in C-derived language, it let me think! Programming is all about thinking. At the end of the day, this in incredibly productive.

                          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