2018-03-20 Попутно Ничего Нельзя Менять

Различия

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

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

правила_разработки:как_не_надо_делать:2018-03-20_попутно_ничего_нельзя_менять [20.03.2018 06:30]
admin Approved(admin 2018/03/20 06:31)
правила_разработки:как_не_надо_делать:2018-03-20_попутно_ничего_нельзя_менять [20.05.2019 15:18]
Строка 1: Строка 1:
-**Нарушено правило:​** никогда ничего нельзя править попутно при решении задачи.\\ +
-**Постановка задачи**:​ добавить текст сообщения "​Демо-версия"​.\\ +
-**Ошибка:​** разработчик попутно переместил global $DEMO_DAYS_MAX в начало функции,​ как требуют правила хорошего тона php.\\ +
-Так делать **<color #​ed1c24>​КАТЕГОРИЧЕСКИ</​color>​** нельзя,​ код бы отлажен и оттестирован именно в варианте,​ когда объявление было в теле if, и если выше этой переменной нет и или если она не объявилась в if, то весь алгоритм уже отлажен и работает с учетом этой ошибки.\\ +
-Если исправить эту техническую ошибку,​ с огромной вероятностью возникнет логическая ошибка,​ которую не факт, что отловят автотесты. +
-<code diff> +
-function do_act($params) +
-+
-+    global $DEMO_DAYS_MAX;​ +
-     ​debug('​DO_ACT'​);​ +
-     ​$potential = potential_by_reg($params['​reg_num'​]);​ +
-@@ -181,7 +182,6 @@ function do_act($params) +
-     // Если текущая стадия не проданная и не внедрение,​ то это демо +
-     if (!in_array($potential['​sales_stage'​],​ $won_sales_stages)) { +
--        global $DEMO_DAYS_MAX;​ +
-         ​debug('​DO_ACT DEMO  sales_stage:'​ . $potential['​sales_stage'​]);​ +
-         ​$interval_days = (strtotime($potential['​cf_regdemoend'​]) - strtotime(date('​d.m.Y',​ time()))) / (3600 * 24); +
-         ​$result['​demo_days'​] = $interval_days;​ +
-+        $result['​demo_msg'​] = '​Демо-версия';​ +
-</​code>​ +
-/​*Добавить раздел Я прочитал Yes No*/ +
-{(rater>​id=1|name=Прочитал_правила_разработки:​как_не_надо_делать:​2018-03-20_попутно_ничего_нельзя_менять|type=vote|trace=user|tracedetails=1)}+