К сожалению баги бывают не в прогах, а в мозгах их авторов :(. Все беды от неправильного/неаккуратного использования тулов, будь то язык программирования или какая-то технология. Выход - читай почаще документацию.
Общий совет - забудь об cut&paste в пользу реюзинга отлаженных компонент, библиотек и пиши каждую строку осмысленно. Измерять труд программёра количеством набитых строк глупо.
Архитектурные ошибки на этапе кодирования не исправляются, дебильный дизайн соплями не исправишь.
Можно почитать: Ален И. Голуб "C и C++. Правила программирования". Ничего особо выдающегося там может и не написано, но полезные советы по использованию или неиспользованию каких-то возможностей языка там есть, кроме того, по некоторым вопросам там приведены примеры и объяснения, т.е. есть материал над которым самому можно поразмыслить.