2019-04-04 Требуется Проверять Наличие Новой Функции В Конце Работы

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

правила_разработки:как_не_надо_делать:2019-04-04_требуется_проверять_наличие_новой_функции_в_конце_работы [04.03.2019 07:05]
николай_глазов Approved(николай_глазов 2019/03/04 07:06)
правила_разработки:как_не_надо_делать:2019-04-04_требуется_проверять_наличие_новой_функции_в_конце_работы [20.05.2019 15:18] (текущий)
Строка 1: Строка 1:
 +
 +**Постановка задачи**:​ требовалось сделать резервный файл выгрузки,​ чтобы у клиентов не происходило проблем из-за старого файла выгрузки. При этом, в некоторых случаях происходила замена файла резервным.
 +
 +**В чем была проблема**:​ Было сделано изменение,​ но у клиентов в новой версии функционально ничего не изменилось.
 +
 +**Краткая хронология**:​ создавалась новая функция,​ её работа была проверена в во время кодирования,​ но она не была проверена в конце работы.
 +
 +Изначально функция выглядела так:
 +<code bash>
 +....
 +
 +download_from_carbon(){
 +       if [ "​$(time_of_day)"​ = '​NIGHT'​ ] && [ -f "​$FILE_RESERVE"​ ]; then
 +               cp -a "​$FILE_RESERVE"​ "​$FILE"​
 +....
 +</​code>​
 +
 +Потом провели рефакторинг,​ перенесли логику из bash в утилиту для работы с файлом,​ но полностью функциональность перенести забыли,​ не хватало команд,​ потому что решено было передавать директорию для файла через env:
 +
 +<code diff>
 +-DUMP = os.path.join(RKN_DIR,​ OUTPUT)
 ++DUMP = os.getenv('​DUMP',​ os.path.join(RKN_DIR,​ OUTPUT))
 +</​code>​
 +
 +
 +**Ошибки**: ​
 +  - Не было полностью перенесена функциональность во время рефакторинга
 +  - Не было проведено достаточное тестирование именно той функции,​ ради которой вносились изменения после всех изменений
 +
 +**Как надо делать**:​ После всех изменений требуется проверять наличие именно той функциональности,​ ради которой создавалось изменение,​ это предохраняет от ошибок во время рефакторинга подтверждается,​ что было сделано именно то, что задумывали изначально.
 +
 +~~OWNERAPPROVE~~
 +/*Не удаляйте эту строку и ниже!*/
 +{(rater>​id=1|name=Прочитал_правила_разработки:​как_не_надо_делать:​2019-04-04_требуется_проверять_наличие_новой_функции_в_конце_работы|type=vote|trace=user|tracedetails=1)}