git status
Ваш друг, используйте его часто. Хороший для ответа на вопросы как:
, В отличие от этого, скажите svn status
, git status
выполнения почти немедленно даже на крупных проектах. Я часто находил его заверяющий при изучении мерзавца, чтобы часто использовать его, удостовериться моя умственная модель того, что продолжалось, было точно. Теперь я главным образом просто использую его для напоминания мне, что я изменил начиная со своей последней фиксации.
, Очевидно, намного более полезно, если Ваш .gitignore нормально настроен.
Обычно он используется только при тестировании чего-либо на данный момент. То есть, вы никогда не должны передавать такой код в систему управления версиями, потому что это может сбивать с толку.
Например, если вы тестируете два разных метода вычислений, вы можете использовать это для переключения между ними. Лично я редко делал это, если вообще делал это.
Для тех, кто не знает, вы можете переключаться между двумя разделами кода, добавляя одну косую черту:
/*/ comment here
do some thing.
/*/
do some thing else.
//*/
//*/ comment here
do some thing.
/*/
do some thing else.
//*/
Дерьмовая практика. Мертвому коду нечего делать в любом производственном коде качества. Если действительно есть ситуации, когда будет применяться старый, мертвый код, то его следует реорганизовать во что-то, что можно включить / выключить, используя конфигурацию без перекомпиляции.
I предпочел бы
#ifdef DOIT_ONE_WAY
do one way
#else
do another way
#endif
но это дело вкуса
Это меня сбивает с толку и требует времени на разбор, так что нет, я не думаю, что это хорошая практика.
Я думаю, что любая легкость переключения, упомянутая в ответе Кейна, того не стоит. Браузер разработчиков должен позаботиться о легкости комментирования.
Для меня это просто сбивает с толку и определенно нестандартно.
У каждого свой способ делать что-то ... Я предполагаю, что они сделали это, поэтому все, что вам нужно сделать, это добавить / к первому комментарию и удалить последний /, а затем переключает блок комментариев на другой набор инструкций.
РЕДАКТИРОВАТЬ: На самом деле все, что вам нужно сделать, это добавить / к первому комментарию, а затем удалить его, чтобы переключить его обратно.
Это сбивает с толку, и в нем не хватает эстетики программирования. Хороший способ сделать это - использовать препроцессор C и написать его так:
#if 0
code block disabled
#endif
code block enabled
Это простой способ переключаться между двумя блоками кода (как сказал Кейн Валлманн).
Вероятно, не стоит оставлять его в производственном коде (просто удалите его и получите обратно из системы управления версиями, если вам это нужно), но при разработке это удобный способ быстро переключить две реализации (или заглушить какой-то код и т. д.).
Не обязательно плохая практика, но ожидайте неоднозначных ответов от того, кто читает ваш код. Например, я думаю, что это действительно круто, но я бы никогда не записал такой код в репозиторий.
Я думаю, что этот метод и метод #ifdef, о котором упоминает Аркадий, плохи, так как многофайловый поиск что-то дает оба выглядят так, как будто код работает, хотя это может не зависеть от предыдущих строк.
Если код действителен #ifdef, обязательно сделайте это,
но если он просто тестирует код и т. д., я предпочитаю выделять лот и вставка комментария C ++ //, который в VisualStudio имеет вид Ctrl-K, C