Dec. 27th, 2014

jack: (Default)
I struggled to make this different to the "everything I think is wrong with everything" post, but ok, which things annoy me especially, whether or not they're a big problem themselves.

Storing object type dynamically at run time when in face it's known at compile time, and you could have had it all compiled like that. In fact, this is often perfectly fine, the overhead is often negligible, and it's really useful for debugging. But it always feels like waste, that you might need to double-check whether the overhead is negligible or not. And I always have the feeling that it limits the abstraction you can use, if each one may have overhead, rather than just being compiled out. This is why I'm reluctant to move to C# or Java instead of C++, even if they actually work better.

Finding local optimums in code elegance, etc, which depend on things like the exact number of parameters of a function, and are obviously a waste of time if the signature changes later.

Conversely, people fixing one minor code problem while ignoring lots of other problems I consider as bad or worse.

Designing interfaces with what I'd consider "gotchas", and saying "people should know not to do that".

Unnecessary verbosity, where the downside isn't obvious, but it would be so much easier to read if it could be rewritten as a smaller function.

Using variable names which describe _some_ part of the variable, but would make the algorithm so much clearer if they were _more_ descriptive.

Active Recent Entries