Failure to Use Standard Libraries
Using an array instead of a vector may be bad, but implementing a resizable collection from scratch is worse. In general, when you find code implementing functionality that duplicates facilities available in the standard libraries, be wary. Although standard libraries are typically mature, stress-tested, and well-thought-out, home brew code duplicating their functionality is anything but. When you find a complete XML parser or a specially crafted version of a sort function in a program, you’ll have to spend effort to understand its interface, verify its functionality, and ensure that its performance is adequate. All that because somebody wanted to reinvent the wheel or didn’t bother to read the platform’s documentation.