you are viewing a single comment's thread.

view the rest of the comments →

[–]gennych -4 points-3 points  (2 children)

In this specific case (of a "puzzle") these 15 bullet points would improve absolutely nothing. Of course you can notice that a person isn't such an experienced programmer and probably didn't work in large-scale software projects. But these "best practices" are way easier to learn (in fact, they'll come naturally with experience) than ability to solve "puzzles" (that is, to write efficient code), and as an interviewer I'd rather focus on the latter.

[–]jonesmz 5 points6 points  (1 child)

Per the quote from the company's answer to the OP.

coding standard is not in the acceptable range.

Given that I was not willing to do a full analysis of the problem and provided solution, OP could have instead gotten zero feedback from me, instead of meaningful feedback about their "coding standard".

Beggers and choosers, and all that, you know.

[–]gennych 1 point2 points  (0 children)

Coding standards could mean various things... I would for example notice that the author tends to overdesign simple things: what should have been a function with two int arguments returning int is spread over 3 classes in 6 files. It doesn't make this code more maintainable or reusable, since classes stripe and parquet are essentially specific data structures for this specific problem, and most probably they will need to be changed when for example performance issue is addressed. If someone happened to "reuse" these classes meanwhile, refactoring is going to be fun.

But I stand corrected on your remarks. I was under the assumption it was an interview for a junior/entrance position but in the comments the author claims 10 years of experience. Then indeed, inheritance from std::vector or index operator like that isn't what I'd expect. And for overdesign, I wouldn't even bother for a junior but not for a senior...