3 ms·
I'm probably missing your point, but public static IList<Ephraimite> FindEphraimitesToKill(IList<Ephraimite> ephraimites) { var ephraimitesToKill = n
by minork 10y ago
I'm probably missing your point, but
public static IList<Ephraimite> FindEphraimitesToKill(IList<Ephraimite> ephraimites)
{
var ephraimitesToKill = new List<Ephraimite>();
foreach (var ephraimite in ephraimites)
if (ephraimite.Speak("shibboleth") == "sibboleth")
ephraimitesToKill.Add(ephraimite);
return ephraimitesToKill;
}
or:
public static IList<Ephraimite> FindEphraimitesToKill(IList<Ephraimite> ephraimites)
{
return ephraimites.Where(e => e.Speak("shibboleth") == "sibboleth").ToList()
}
is not that verbose.
- lgessler 10y agoThe thing is, though, would those be allowed by style guides at the enterprise companies where C# is most common? The C# style guide of a former employer of mine (an enterprise C# user) forbids both of these snippets because of the unbraced statements in the former and the LINQ and lambdas in the latter. But admittedly I don't know what's common among C# users, so maybe they were in the minority.
- briHass 10y agoThe brackets, maybe. Preferences for brackets for single lines vary. I personally don't like them, but many code style guides (including MS's) recommend them. The LINQ version should be allowed almost everywhere that has a good development group. Sometimes LINQ queries can get hairier than the equivalent foreach, but I've never worked anywhere that would frown upon the shorter/cleaner LINQ.
- JamesBarney 10y ago5-6 years ago enterprise guidelines preventing LINQ/lambda's were more common. Current C# practices for enterprise companies(familiar with 6+ fortune 500's, have not seen or heard of them being banned in the last 4 years) definitely allow lambdas and LINQ. The "required brackets" is more common but I think it's a good rule :). Readability is only slightly hindered by the extra brackets, but I've seen quite a few errors from if(shibboleth) DoSomething(); DoSomethingElse();
- brusch64 10y agoI think its strange comparing languages and then saying that the point doesn't stand because code guidelines of companies don't support the more compact version. I don't like the version without brackets, but I don't think it would make the code less compact if you'd add brackets.