News for hackers. Stuff that matters.
Re:Reading Candidates’ GitHub Profiles by mschuetz on Monday February 22, 2021 @04:33PM (#26230950)
"On the other hand, I find such code painful to look at."

It also pains me to see the opening bracket in its own line. (Being from a field where I don't get to use C# or SQL, I don't understand what the author is referring to)

Re:Reading Candidates’ GitHub Profiles by Smaug123 on Monday February 22, 2021 @05:10PM (#26231353)
Even if the ID variable is an integer (and therefore you're immune to injection), it's still inefficient. If you use the command "select * from Customer where ID=@id" and you set ID as a parameter instead, then caching can happen behind the scenes ("prepared statements").

See the justifications at https://www.npgsql.org/doc/basic-usage.html#parameters, for example. My experience is only with Postgres, but I imagine they translate.

Re:Reading Candidates’ GitHub Profiles by imstate on Monday February 22, 2021 @04:49PM (#26231128)
The opening bracket in a new line is very common for C/C++ and C#.

Obviously Standards change, but that's what we learned when I went to school.

The only thing that should matter with style is consistency.

Re:Reading Candidates’ GitHub Profiles by znpy on Monday February 22, 2021 @05:15PM (#26231406)
IIRC some old unix book recommended splitting type declaration, prototype and body on different lines, like this:

    int
    myFunc(char *str, int strlen)
    {
         <body>
    }
with the rationale being that grepping for ^myFunc (or searching for it in vi) would have found the function declaration immediately.

Not sure I like that, anyway.

Re:Reading Candidates’ GitHub Profiles by throwaway3neu94 on Monday February 22, 2021 @05:05PM (#26231301)
Agree. It hasn't changed, it's still what Microsofts C# style guide recommends.

https://docs.microsoft.com/en-us/dotnet/csharp/programming-g...

It's also what VS Code autoformats even C++ to by default.

Also I wonder if the other commenters reflexively saying "SQL injection" realize that is just the symptom; the underlying problem is that LINQ is not used. Even if the SQL injection was fixed, a literal SQL query is usually not the right tool in C#.

Re:Reading Candidates’ GitHub Profiles by dataflow on Monday February 22, 2021 @04:55PM (#26231197)
Re: braces on their own lines, one practical advantage of doing so (leaving aside subjective anesthetics like symmetry) is that source control (at least got) will be able to automatically distinguish and merge changes to the header and the body independently, since they're no longer adjacent.
Re:Reading Candidates’ GitHub Profiles by blackbear_ on Monday February 22, 2021 @04:38PM (#26231005)
Code is vulnerable to SQL injection. And yes the opening bracket on a new line hurts.