4 ms·
Back when I used to work at a large enterprise the use of 'var' was banned in our coding standards. Using Linq was heavily frowned upon. It took quite a few ye
by weavie 9y ago
Back when I used to work at a large enterprise the use of 'var' was banned in our coding standards.
Using Linq was heavily frowned upon. It took quite a few years before it started to be accepted..
At one point we were also strongly encouraged to place a #region around every single method! I never understood why, and luckily that one did get dropped.
- matthewwarren 9y ago> At one point we were also strongly encouraged to place a #region around every single method! I never understood why, and luckily that one did get dropped Shudder!! Especially since VS has plugins (or maybe it's built-in?) that will let you fold/hide individual methods, if you really want to do that!
- acidshards 9y agoFYI: It's built-in.
- romanovcode 9y agoWhat's the point of not using stable language features? I don't get it.
- weavie 9y agoNeither did I.
- Cakez0r 9y agoI've (unfortunately) had to work with this rule before. The justification was that it makes the code more readable. I can understand banning SQL style linq and allowing only functional style, but I guess that's more of a personal preference.
- JustSomeNobody 9y agoWhile it shouldn’t be banned, it should be used appropriately. We have some areas of our project that communicate with hardware where we cannot use it because of the performance hit.
- romanovcode 9y agoYeah, I agree. You can make some seriously shitty unreadable code using LINQ just to look smart. But that's what code reviews are there for.
- btschaegg 9y agoI agree. That, and not using LINQ often enough doesn't resolve that problem per se. Rethinking the problem (or the way you attempt to solve it) might very well improve the code much more. One of Kevlin Henney's talks references a really neat quote by Poul Anderson on this subject: > I have yet to see any problem, however complicated, which, when you looked at it in the right way, did not become still more complicated.
- emodendroket 9y agoSometimes ReSharper makes some seriously wild, unreadable suggestions for converting code to Linq.
- romanovcode 9y agoYeah, but IMO after Roslyn I don't see the benefit of ReSharper, definitely not for the 100 dollar price per year.
- emodendroket 9y agoThat happened right when I started a new job so I haven't touched it that much. R# used to be absolutely essential though.
- tigershark 9y agoWhy on earth? It is resolved by the compiler, there is absolutely no performance difference between using var and explicitly specifying the type.
- ambulancechaser 9y ago
- kylereeve 9y agoI used to work in a company with a similar policy. Never got a satisfactory answer, I think there's just lots of FUD around any language feature that looks different than what people are used to.
- recursive 9y agogoto is a stable language feature.
- darklajid 9y agoYesterday a colleague wanted to compile _and deploy_ code. Checked it out. It .. failed to compile. Sure enough, he fixed it (and checked the change in) before deploying it (test env, thank god). The code was generating some JSON using Linq and created JSON properties: new JsonObject(LinqExpressionHere) The name for the property was defined as $"SomePrefix_{x.Name}" which he helpfully changed to "SomePrefix_{x.Name}" which then compiled, but crashed in the test environment because of - surprise - duplicate attributes..
- maxxxxx 9y agoI just did this in my code! Ported a ton of PHP to C# and forgot to add $ to the front of strings. A compiler warning would be nice for this.