Наш код сосет. Собственно, позвольте мне пояснить это. Наш старый код сосет. Это трудно отлаживать и полна абстракций, которые мало кто понимает или даже помнит. Только вчера я провел час, отлаживая область, в которой я работал в течение в течение года, и подумал: "Вау, это очень больно". Это не кто-то виноват - я уверен, что все это было изначально понятно. Худшая часть обычно - это просто работает... при условии, что вы не просите ее ничего делать вне зоны комфорта.
Наш новый код довольно хорош. Я думаю, что мы делаем много хороших вещей. Это ясное, последовательное и (надеюсь) поддерживающее. У нас есть сервер Hudson для непрерывной интеграции, и у нас есть начало пакета unit test. Проблема заключается в том, что наше руководство ориентировано на лазерное программирование на новый код. Нет времени, чтобы дать старый код (или даже старый новый код) TLC, который так отчаянно нуждается. В любой момент времени у нашего отставания (для шести разработчиков) имеется около 140 предметов и около десятка дефектов. И эти цифры не сильно меняются. Мы добавляем все так же быстро, как мы можем сжечь их.
Итак, что я могу сделать, чтобы избежать головных болей отладочных сеансов марафона, погрязших в глубине старого кода? Каждый спринт заполняется до краев новыми дефектами развития и демонстрации. В частности...
- Что я могу сделать, чтобы помочь выполнить задачи обслуживания и рефакторинга, получить достаточно высокий приоритет для работы?
- Существуют ли какие-либо конкретные стратегии на С++, которые вы используете, чтобы предотвратить быстрый сбой нового кода?