Просто найденный этим:
SELECT names FROM your_table ORDER BY games + 0 ASC
Делает естественный вид, когда числа в передней стороне, мог бы работать в течение середины также.
Вы можете попробовать запустить его через doxygen, чтобы наконец получить доступный для просмотра набор документации, но в основном единственный способ - это отладчик, несколько сообщений trace / std :: cerr и много кофе.
Предложение написать тестовые примеры является основой Working-Effectively-Legacy-code и точкой библиотеки тестирования cppunit. Если вы можете использовать этот подход, это зависит от вашей команды и ваших настроек - если вы новичок, вы не сможете переписать приложение для поддержки тестирования.
Таким образом, DRY следует соблюдать любой ценой, даже если это связано с потерей производительности здесь и там, некоторыми дополнительными проблемами конфигурации и другими «незначительными» проблемами.
Также «независимый» отличается от «автономного».
В противном случае представьте себе ситуацию, когда вам нужно что-то изменить, и вам нужно связаться с множеством разных сторон, чтобы заставить их обновить. С DRY вы также решаете проблему одновременного запуска несовместимых версий в течение короткого периода времени.
Итак
Ваш вопрос очень специфичен для предприятия, и я больше люблю настольные ПК, так что я надеюсь, что этот ответ не слишком общий. Мне понравилась концепция «Не повторяйся», пока я не узнал, как она кодифицируется и закостенела. Мне он понравился, потому что он согласовывался со мной (да!) И моими собственными идеями о том, как сделать код более удобным в сопровождении и менее подверженным ошибкам. По сути, я считаю, что большая ремонтопригодность требует большего обучения со стороны сопровождающего. Я не думаю, что есть простой способ обойти это. Вот пример того, как улучшить ремонтопригодность с помощью хорошего фактора, но не без кривой обучения.