The use of 'var'
-
Since the var keyword has been introduced for anonymous types I have noticed more and more code examples (and seen in my work) people using var rather than a defined type. To my mind var should only be used when an anonymous type is being used and only then not instead of a defined type. What are peoples thoughts? are you seeing a rise in the use of var?
-
Since the var keyword has been introduced for anonymous types I have noticed more and more code examples (and seen in my work) people using var rather than a defined type. To my mind var should only be used when an anonymous type is being used and only then not instead of a defined type. What are peoples thoughts? are you seeing a rise in the use of var?
If you give a novice programmer something to abuse, they will abuse it. Its about the first rule of computer programming. The only place I have used var so far is in the return from a LINQ query, I see no reason to use it extensively. So in short, I agree with you.
-
Since the var keyword has been introduced for anonymous types I have noticed more and more code examples (and seen in my work) people using var rather than a defined type. To my mind var should only be used when an anonymous type is being used and only then not instead of a defined type. What are peoples thoughts? are you seeing a rise in the use of var?
Well, I didn't declare a lot of "object x =" in .NET 2.0, doubt that I have more uses for the var-keyword. On the other hand, Resharper keeps reminding me that I should use "var" instead of the type-safe declaration. Ehr.. :doh: Dunno why actually :)
I are troll :)
-
If you give a novice programmer something to abuse, they will abuse it. Its about the first rule of computer programming. The only place I have used var so far is in the return from a LINQ query, I see no reason to use it extensively. So in short, I agree with you.
I absolutely agree with you. As I see it, every developer must be aware what he/she is doing. He has to know about the types etc. he is using etc. Using a paradigma like "Uh I don't know what the return type of this method is, but hey who cares, the compiler will do it for me" is not the way I agree with. So in my opinion the excessive use of "var" makes the code difficult to read, you always have to search for the last assignment... As far as I know, var was introduced only for the use with LINQ, but as you already said, it will be abused... Regards Sebastian P.S.: Had a big discussion here last week, if we should use it throughout the code or not...
It's not a bug, it's a feature! Check out my CodeProject article Permission-by-aspect. Me in Softwareland.
-
Well, I didn't declare a lot of "object x =" in .NET 2.0, doubt that I have more uses for the var-keyword. On the other hand, Resharper keeps reminding me that I should use "var" instead of the type-safe declaration. Ehr.. :doh: Dunno why actually :)
I are troll :)
Eddy Vluggen wrote:
Resharper keeps reminding me that I should use "var" instead of the type-safe declaration
I know! Well, they've got it wrong. I hate the use of this subversive keyword. Fair dos for LINQ but no place elsewhere. Presumably you can tell Resharper not to do that, but I can't be bothered to wade through all the options pages. It does alsorts of things I don't care for - breaking my lines up, trying to use 'object initializers' to squeeze everything onto the construction line, putting space between casts etc. It should chill out a bit.
Regards, Rob Philpott.
-
Since the var keyword has been introduced for anonymous types I have noticed more and more code examples (and seen in my work) people using var rather than a defined type. To my mind var should only be used when an anonymous type is being used and only then not instead of a defined type. What are peoples thoughts? are you seeing a rise in the use of var?
Since you're asking for opinions, here's mine. I would not be opposed to seeing var when you are declaring a new something (especially when the type name is long). For example:
var cache = new Dictionary<string, LongTypeNameIWantToTypeJustOnce>();
as opposed to
Dictionary<string, LongTypeNameIWantToTypeJustOnce> cache = new Dictionary<string, LongTypeNameIWantToTypeJustOnce>();
which I either have to break up into multiple lines or have one really long line. Even if the line is not too long, the second way is still noisier than the first. For the record, this is one of the things I like about the VB syntax (only needing to write the type once when declaring and "new"-ing a variable at the same time)
-
Since the var keyword has been introduced for anonymous types I have noticed more and more code examples (and seen in my work) people using var rather than a defined type. To my mind var should only be used when an anonymous type is being used and only then not instead of a defined type. What are peoples thoughts? are you seeing a rise in the use of var?
I agree, it is being abused. I never use var, and as I also never use Linq, I don't expect to.
-
I agree, it is being abused. I never use var, and as I also never use Linq, I don't expect to.
The LINQ to XML stuff makes handling XML files a breeze.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
The LINQ to XML stuff makes handling XML files a breeze.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001I just use an XmlDocument. I was doing some more XSL last night. Maybe you have a Linq way of doing this... In my XML file I have a processing instruction to indicate the XSL file and stylesheet to use:
<?xml-stylesheet type="text/xsl" href="mystylesheets.xsl#somestylesheet"?>
Unfortunately, those aren't Attributes, they are in the Value! I've been using a Regular Expression to get this information:private static readonly System.Text.RegularExpressions.Regex HrefReg =
new System.Text.RegularExpressions.Regex
(
"href\\s*=\\s*(?'quot'[\"'])(?'href'.*?)((?'sep'#)(?'id'.*?))?\\k'quot'"
) ;Do you have a Linqish way to do that?
-
If you give a novice programmer something to abuse, they will abuse it. Its about the first rule of computer programming. The only place I have used var so far is in the return from a LINQ query, I see no reason to use it extensively. So in short, I agree with you.
What has been worrying me is more senior experienced programmers starting to do it. Brought back horrible memories of VB6 variant