Предлагаю немного разграничить понятия "говнокод" и "хардкод". Говнокод-это всратый нейминг, множество однотипных конструкций и несоответствие пеп8, как минимум. Хардкод-может быть и с внятным неймингом, и по пеп-у, но присутствует куча костылей и велосипедов для задач, под решение которых есть общеизвестные встроенные средства.
Все это можно обобщить до "говнокода", но в первом случае это больше отсутствие "культуры кода", а во втором-слабое знание используемых инструментов.