6 ms·
Hard disagree. MyClass myVar = new MyClass() is not DRY. It also makes it practical to use complicated structures out of generics/templates without killin
by Pxtl 7y ago
Hard disagree.
MyClass myVar = new MyClass()
is not DRY. It also makes it practical to use complicated structures out of generics/templates without killing the developer With<Deeply<Nested,Template>, Declarations>.
- choward 7y agoHard disagree. If you are assigning a value that's the result of an expression you might have somewhat complicated logic. Being able to say what you expect returned is very useful. MyClass myVar = something ? SomeFunction() || somethingThatMightBeASubClassOfMyClass
- Koshkin 7y agoAnything wrong with var myClass = ... (or some other descriptive name of the variable)?
- Pxtl 7y agoPersonally I prefer this, since it also carries on to every following line. Like, in C# List<Account> accountsToDelete = accountService.GetAccountsToDelete(); repository.Delete(accountsToDelete); becomes var accountsToDelete = accountService.GetAccountsToDelete(); deleterService.Delete(accountsToDelete); So as much type information is already encoded into names so that all references to this object are clear in what we're handling, and so the type declarations at the point where the variable is declared is just redundant noise. If your variables aren't informative when I'm reading the code, I'll be confused 5 lines later anyways. So make them informative at the start. And given that, doesn't that mean the List<Account> is a bit redundant?
- enhray 7y agoBeware the m_pszSlipperySlope [0]. [0] https://en.wikipedia.org/wiki/Hungarian_notation https://en.wikipedia.org/wiki/Hungarian_notation
- edflsafoiewq 7y agoEven if you have var/auto, you don't have to use it every time.