Удалять части #ifdef DEBUG для выпуска или нет?

Когда вы публикуете исходный код для просмотра кем-то еще, когда стиль кодирования не определен четко (без каламбура), удаляете ли вы части #ifdef DEBUG?

(это те части, которые компилируются только при определении DEBUG)

Если я удалю его, код будет выглядеть лучше (или я выгляжу лучше — действительно ли я хочу, чтобы кто-то знал, что я отлаживал и как я это сделал?), но тогда я потеряю свои отладочные части или должны хранить две (или более) версии кода.

Что надо сделать?


person Liran Orevi    schedule 09.04.2009    source источник


Ответы (6)


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

Если ваши отчеты об отладке отражают тот факт, что есть проблемы, которые вы не можете понять, возможно, будет лучше устранить их, если вы пытаетесь «продать» свое программное обеспечение кому-то. (Надеюсь, вы сможете исправить их позже...)

person Andy White    schedule 09.04.2009
comment
Если вы собираетесь пройти и удалить весь непрофессиональный отладочный код, вы также можете сделать его профессиональным и оставить его. - person Daniel Dickison; 10.04.2009

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

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

person MissT    schedule 09.04.2009

Я также голосую за то, чтобы оставить его. Если/когда вы начнете работу над своим первым патчем, вам, вероятно, понадобятся эти заблокированные DEBUG фрагменты. Также QA не понравится, что вы удалили код, даже если он заблокирован в директиве.

person Slidell4life    schedule 09.04.2009

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

person Jaka Jančar    schedule 09.04.2009

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

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

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

Но стоит ли это времени? Вероятно, нет, и вам, вероятно, следует просто распространять все, включая части #ifdef DEBUG.

person Brian R. Bondy    schedule 09.04.2009

Поддерживать несколько версий НИЧЕГО нежелательно.

Делайте это только в том случае, если вы должны.

person Community    schedule 09.04.2009