Использование "1001" в качестве "комментария" примерно так же оскорбительно, как и переход :-).Очень просто ввести #if 0/#endif
или /*...*/
, и многие редакторы затем раскрасят закомментированный код, так что сразу станет ясно, что он не используется.(Мне иногда нравится, например, #ifdef USE_OLD_VERSION_WITH_LINEAR_SEARCH
, поэтому я знаю, что там осталось, учитывая, что для меня сразу очевидно, что у меня никогда не было бы такого глупого имени макроса, если бы я действительно ожидал, что кто-то определит его во время компиляции ... думаю, я быЯ должен объяснить это команде, если я поделился кодом в этом состоянии.) Другие ответы указывают на то, что системы контроля версий позволяют вам просто удалить закомментированный код, и, хотя это моя практика перед коммитом, часто есть этап «работы», когдавы хотите, чтобы это было максимально удобно для перекрестных ссылок, копирования и вставки и т. д.
Для сценариев: практически не имеет значения, какой вы используете, если ваш проект не имеет последовательного подхода, который вам нужно вписатьс, поэтому я предлагаю использовать то, что кажется более читабельным / выразительным в данных обстоятельствах.В более длинных кодовых блоках одно продолжение может быть менее заметным и, следовательно, менее интуитивно понятным, в то время как группу из них - или много разбросанных по всему циклу - сложнее пропустить.Чрезмерно вложенный код тоже может стать уродливым. Так что выберите любой, если вы не уверены, затем измените его, если альтернатива начинает выглядеть привлекательной.
Они также передают читателю немного различную информацию: continue
означает "эй, исключите все эти обстоятельстваа затем посмотрите на приведенный ниже код ", тогда как блок if означает, что вы должны" протолкнуть "контекст, но при этом помнить о них все, как пытаетесь понять остальную часть внутренних элементов цикла (здесь, только чтобы найти if сразус последующим завершением цикла, так что все эти умственные усилия были потрачены впустую. В противовес этому операторы continue имеют тенденцию вызывать мысленную проверку, чтобы убедиться, что все необходимые шаги были выполнены до следующей итерации цикла - что все это так же верно, как и все последующие действия.и если кто-то скажет, что добавляет дополнительный оператор приращения или отладки внизу цикла, он должен знать, что есть операторы continue, которые он также может захотеть обработать.
Вы можете даже решить, какой из них использовать, основываясь на том, кактривиальный тест, так же, как некоторые программыmmers будет использовать операторы раннего возврата для исключительных условий ошибки, но будет использовать переменную «result» и структурированное программирование для ожидаемых потоков.Все это может запутаться - программирование должно быть по меньшей мере таким же сложным, как и проблемы - ваша задача - сделать его минимально сложным / более сложным.
Чтобы быть продуктивным, важно помнить «Дон»мелочь ", но в ИТ это может быть правильным испытанием, изучая то, что мало: -).
В стороне: вам может быть полезно почитать плюсы и минусы структурированного программирования,который включает в себя отдельные точки входа / выхода, gotos и т. д.