Я стараюсь делать много проектов в короткие сроки и с большим количеством кода, который никогда не будет использоваться снова, поэтому всегда есть давление/соблазн вырезать углы. Одно правило, которым я всегда придерживаюсь, - это инкапсуляция/свободная связь, поэтому у меня много маленьких классов, а не один гигантский класс Бога. Но что еще я никогда не должен компромисс?
Обновить - спасибо за отличный ответ. Многие люди предложили модульное тестирование, но я не думаю, что это действительно подходит для кодирования пользовательского интерфейса. Удобство использования/Приемочное тестирование пользователей представляется очень важным. Повторяю, я говорю о BARE MINIMUM стандартов кодирования для проектов с невыполненными сроками.