Исправление ошибки под серьезными ограничениями времени

Нашел решение, которое сработало для меня:

# add the pch custom target as a dependency
add_dependencies(corelib pch)

# add the flag
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include-pch ${CMAKE_CURRENT_BINARY_DIR}/stdinc.hpp.pch")

# target
add_custom_target(pch COMMAND clang -x c++-header ${CMAKE_CURRENT_SOURCE_DIR}/src/stdinc.hpp -o ${CMAKE_CURRENT_BINARY_DIR}/stdinc.hpp.pch)
12
задан Jonathan Leffler 17 February 2009 в 15:12
поделиться

14 ответов

Высоко оцененный ответ AnthonyWJones выше является правильным на в основном

Другой помещается Вы коммерческая голова на, и используйте некоторый здравый смысл, каков риск, Вы представили другого как серьезную или более серьезную ошибку? Как клиент будет реагировать на это? Как клиент будет реагировать, если Вы объясните свою потребность в течение большего количества времени? Взвесьте ответы и примите коммерческое/исполнительное решение

Но что означает "взвесить" ответы? Это означает, что Вы начинаете присваивать веса вещам буквально: Вы останавливаете, делаете перерыв, составляете список и продумываете его. Необходимо ли сказать клиенту, что это невозможно? Каков риск, что небольшая ошибка будет выставочным стопором, который Вы представили в своем недельном безумном притоке?

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

Если клиент слишком занят, чтобы говорить с Вами, необходимо объяснить (в электронном письме, или в кровяном пятне, безотносительно), что Вы сорвете QA и возможно представите другие ошибки в процессе. Необходимо будет говорить, кратко, о вероятности тех, которые более важным, чем рассматриваемая ошибка. Вы имеете опыт и знаете то, что Вы делаете (в некоторой степени), таким образом, необходимо помочь клиенту понять, насколько безумный (или не) то, что они просят.

Так или иначе, после быстрого движения немного, вот моя точка: Ваше задание состоит в том, чтобы сохранять спокойствие и сделать Ваше задание. Я сомневаюсь, что путем работы многих дней без повреждений Вы на самом деле нашли ошибку быстрее: Вы, вероятно, пытались пойти слишком быстро. Ваше задание состоит в том, чтобы также сообщить Вашему клиенту относительно того, что возможно, что не, и какие риски понесены с каждым решением. Но движение быстрее, чем Ваше самое быстрое - как в том, чтобы не делать перерывы - не имеет никакого смысла и никому не помогает.

Но во всех случаях, нет ничего для потери Дзэн о. Когда-либо.

4
ответ дан 2 December 2019 в 03:02
поделиться

Здесь уже существует некоторый большой совет, но я хотел бы добавить что-то еще:

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

Назад в конце 1980-х, я исправил ошибку, которая была путем вниз глубоко в очень старой программе. Но это не работало правильно под одним случаем, который раньше работал. Когда я занялся расследованиями далее, я нашел, что "временная" работа вокруг была помещена на месте. Комментарий сказан:

C TEMPORARY WORK-AROUND UNTIL I FIND THE REAL CAUSE.  I CHARNY, SUMMER STUDENT, AUG 1971

Irv Charny был моим боссом, когда я нашел это 15 + год "временное обходное решение".

12
ответ дан 2 December 2019 в 03:02
поделиться

Одна лучшая практика очевидна, "Непрерывно не работают без достаточных повреждений"

Другой помещается Вы коммерческая голова на, и используйте некоторый здравый смысл, каков риск, Вы представили другого как серьезную или более серьезную ошибку? Как клиент будет реагировать на это? Как клиент будет реагировать, если Вы объясните свою потребность в течение большего количества времени? Взвесьте ответы и примите коммерческое/исполнительное решение.

11
ответ дан 2 December 2019 в 03:02
поделиться

Существует много проблем этот вопрос повышения для меня.

Я "был там, сделал это" до рабочих полуночников, чтобы попытаться решить проблемы. Я могу сказать Вам бесплатно, что Вы, вероятно, уже знаете - в 3:00 Вы не думаете слишком ясно, и Ваши меры могут вызывать больше проблем, чем они решают.

Не только это, но и в культуре работы, которая способствует этому сумасшествию, Вы, как обычно ожидают, обнаружитесь на следующий день в 8:00 готовый продолжить давать 100%. Когда Вы будете молоды, Ваше тело справится с определенным количеством этого, но в Вашей середине 20-х Вы собираетесь иметь серьезные побочные эффекты. Heck, даже в то время как Вы молоды, можно только обойтись без помощи сна так долго. Если Вы являетесь ведущими во сне лишенное состояние, это может закончить тем, что стоило Вам Вашей жизни.

Я надеюсь, что можно сделать хорошую экономическую модель к управлению компании для более разумных методов. Почти любой клиент (неважно, как настойчивый) может быть убежден, что лучше ожидать неделя, чем риск его бизнес на программном обеспечении с showstopper ошибкой в нем. Ночной марафон кодирования мог бы быть хорошо для редкой ситуации, но когда это становится распространенным, все страдают.

6
ответ дан 2 December 2019 в 03:02
поделиться

Независимо от того, что Вы делаете, Ваше программное обеспечение будет содержать ошибки.

Все, что можно сделать, является лучшим в ограничениях времени, которые указывает босс/компания.

10
ответ дан 2 December 2019 в 03:02
поделиться

Если Вы чувствуете, что клиентское давление вынуждает Вас исправить ошибку и развернуться без достаточного тестирования/исследования, я предложил бы говорить клиенту, что ошибка исправлена, но не полностью протестирована. Скажите им, сколько времени это возьмет, чтобы полностью протестировать и дать им выбор. Если ошибка будет действительно так важна, как они разобрали, они почти наверняка пойдут для непосредственного развертывания - но это будет их выбор и существует лучший шанс, они поймут то, что произошло, если вещи идут не так, как надо позже. Если они оказывали давление на по чему-то, что не было действительно настолько важно, надо надеяться, они позволят Вам тестировать его сначала.

3
ответ дан 2 December 2019 в 03:02
поделиться

Когда Вы находитесь под экстремальной нехваткой времени затем, необходимо заставить ее работать. Несмотря на это, крайне важно пробежаться через Ваше решение удостовериться, что это действительно решает проблему. Необходимо понять включенный код, знать, как проблема произошла, и удостоверьтесь, что фиксация является корректной вещью. Слишком часто патчи выбегаются только, чтобы быть неправильными и вызвать другой быстрый патч.

Что касается проблем, с которыми встречаются по пути..., принимают во внимание их и идут дальше. Обязательно возвратитесь им, но оставить их на данный момент, если у них нет влияния на текущую проблему.

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

2
ответ дан 2 December 2019 в 03:02
поделиться

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

Одна из вещей, которые можно хотеть рекомендовать боссу, - то, что видевший унаследованный код, упомяните обнаружение других незначительных дефектов в коде, и возможно необходимо выполнить корректировочную версию на приложении. Таким образом, можно возвратиться и с большей осторожностью, очистить другие проблемы, которые Вы обнаружили, и имейте время для полного раунда тестирования.

2
ответ дан 2 December 2019 в 03:02
поделиться

Нет ничего предотвращающего Вас, чтобы продолжить работать над созданием фиксации, максимально стабильной после того, как начальный выпуск исправления ошибки был сделан.

Самое важное должно остановить огонь и сделать клиента счастливым.

После того как это сделано, необходимо будет запланировать дополнительную работу, чтобы заставить все это работать; исправьте ошибки "среды", имейте QA, проходят планы тестирования, и после этого можно создать другой "официальный" выпуск, которые официально устраняют начальную проблему и с более высоким уровнем безопасности.

1
ответ дан 2 December 2019 в 03:02
поделиться

Это действительно зависит от проблемы под рукой.

Я недавно говорил с разработчиком, работающим в компании производителя темпа. Однако очень важный это было, они просто не могли срочно отправить вещи. Но если потребность возникает, у них были некоторые аппаратные средства, проверяющие поведение программного обеспечения и сбрасывающие кардиостимулятор к состоянию 'сохранения'.

С другой стороны, если реальные деньги теряются, потребность зафиксировать их быстро могла бы быть больше потребность зафиксировать их безопасно и завершенный.

Независимо от того, что Вы делаете и или фиксируете, удостоверяются, что Вы регистрируете все свои изменения и пробегаетесь через них в замедленном воспроизведении проверить на потенциальные ошибки.

1
ответ дан 2 December 2019 в 03:02
поделиться

Если Вы замечаете что-то не так в источнике, который никогда не производил проблему, не фиксируйте его без обширного тестирования!!

Вы могли бы найти, что неверный код никогда не называли, но также где-то в другом месте могло бы быть что-то не так, которое 'исправляет' эту ошибку и изменяет источник, чтобы сделать, правильная вещь могла бы повредить приложение!

Таким образом, если у Вас нет достаточного количества времени для тестирования, не фиксируйте материал, не связанный с Вашей текущей проблемой! Отметьте этот материал, зафиксируйте его позже с обширным тестированием.

2
ответ дан 2 December 2019 в 03:02
поделиться

Если Вы работаете над жестким сроком, необходимо сфокусироваться. Таким образом, если Вы видите некоторый код, который крики чистят меня до Вас, но не имеет никакого отношения к проблеме под рукой, сделайте короткое примечание, чтобы повторно посетить это место позже, но не осуществляйте рефакторинг его теперь. Не только хорошо, чтобы сделать так, его обязательное.

1
ответ дан 2 December 2019 в 03:02
поделиться

Я думаю, что, конечно, нормально игнорировать другие (более непроблематичные) ошибки, которые Вы могли бы найти при попытке зафиксировать один критический. Но конечно об этом нельзя забыть и сообщить в некоторой системе билета.

Я думаю, что большая часть работы получает гладкий результат в таком случае (который, конечно, происходит), должен быть вставлен заранее в наличии хорошего автоматического набора тестов. Тем путем можно, по крайней мере, удостовериться немного больше, чтобы Вы не представляли новые ошибки при фиксации что один. Обзоры кода и т.п. добавляют к этому.

Таким образом, когда запись программного обеспечения, возможно, всегда думает о том случае, когда необходимо реагировать быстро и подготовиться к этому.

0
ответ дан 2 December 2019 в 03:02
поделиться

Во-первых, я думаю, что необходимо разделить "эмоциональную драму" и принять беспристрастное решение относительно того, является ли исправление ошибки на самом деле более высоким приоритетом, чем получение сделанного выпуска. Надо надеяться, это - чужое задание. Они должны сэкономить разработчиков, которых давление всего "клиента вдыхает вниз, наши шеи" гадят. Если клиент также ожидает на выпуске, возможно, он может быть отброшен назад им, это исправляющее эту ошибку/может задержка выпуск

Затем, поскольку Daniel сказал 'работу максимально быстро, но не быстрее'. Если клиент жалуется или даже теряет доход, который действительно не влияет на Вашу способность исправить ошибку или фиксирует ее быстро.

Что касается фиксации, я сделал бы абсолютный абсолютный минимум для исправления той определенной ошибки. Если возможный я записал бы отдельный блок кода для обработки (надо надеяться), одного условия, которое вызывает отказ, и оставьте все остальное в покое. Причем идея состоит в том, чтобы изолировать ту одну проблему и знать (вид), что ничто иное не собирается повредиться из-за изменений. И легко смочь протестировать то одно условие.

0
ответ дан 2 December 2019 в 03:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: