Как вы храните код отладки из производства? - PullRequest
28 голосов
/ 09 декабря 2010

Это случается с лучшими из нас.

alt text

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

Как вы отличаете проблемы отладки от функционального кода в javascript, php или vbscript?Как вы гарантируете, что эти отладочные изменения никогда не попадут в производственную среду?

Ответы [ 16 ]

0 голосов
/ 28 февраля 2014

Я следую трем правилам для кода отладки

Чтобы исходный код выглядел ужасно, ...

 not indenting it from the left margin

 egregiously violating the coding standard

 putting in extra whitespace above and below

Установите глобальный переключатель отладки и

 have it alter an obvious output if it is ON, and

 make the debug code compilation depend on that switch being ON (i.e., so the code won't compile if the global switch is OFF)

Саботировать очевидный вывод, например:

 delete something really important

 put up 99/99/99, for the date

 comment out the "File Load" function

 delaying the splash-screen

 etc.

Эти три правила хорошо сработали для меня.

0 голосов
/ 05 марта 2011

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

Нет другого хорошего способа убедиться, что код отладки появляется на рабочем сервере - QA перед производством

0 голосов
/ 09 декабря 2010

что я делаю в php

<code>define ("DEBUG", true);


function op (){
    if ( !DEBUG ) return true;

    $args = func_get_args();

    foreach ( $args as $var ){
        if ( is_object ( $var ) or is_array ( $var ) ){
            print "<br /><pre>";
            print_r ( $var );
            print "
";} else {print".
0 голосов
/ 09 декабря 2010

Здесь у нас есть несколько этапов тестирования, прежде чем код достигнет производства.Разные группы тестеров на каждом этапе с разными целями.Кажется, работает до сих пор (у нас никогда не было отладочного кода, подобного этому, вышедшего в производство.)поймал бы что-то вроде этого ...

0 голосов
/ 09 декабря 2010

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

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

0 голосов
/ 09 декабря 2010

Кодовые отзывы.Обычно, когда кто-то просматривает код, такие вещи действительно торчат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...