Привет! Расскажите как кто пишет условия, тоесть так:
или так:
есть ли вообще особая разница?
Вариант 1 позволяет ставить точку останова (очень нужно при отладке). Вариант 2 не позволяет ставить точку останова на каждом условии.
Привет! Расскажите как кто пишет условия, тоесть так:
или так:
есть ли вообще особая разница?
главное достоинство первого варианта - возможность ставить else.
Это позволяет осуществлять более гибкую логику с ветвлениями.
Про отладку согласен, но мне больше нравиться такая форма записи.
Если короткое условие:
if (a&&b&&c);
Если условия длинные, например, функции с аргументами,то:
if (Foo1(...) &&
Foo2(...) &&
Foo3(...)) DoSomething();
Вообще дело вкуса. Лично меня фигурные скобки,, по одной на каждой строке, как в Вашей первой записи бесят. Если в VS все это дело свернуть можно, то тут, нет. Поэтому, конечно в ущерб удобности отладки, так пишу:
Foo(....){ ...; ...; ...;}
Привет! Расскажите как кто пишет условия, тоесть так:
или так:
есть ли вообще особая разница?
Я пишу вот так, но если это действительно условия
if( uslov1 && uslov2 && uslov3 && uslov4 ){ Run; } // По итогу получаю удобную штуку, если нужно что-то быстро добавить, или закомментировать как лишнее if( uslov1 //&& uslov2 //&& uslov3 && uslov4 && uslov57 ){ Run; }
Лично меня фигурные скобки,, по одной на каждой строке, как в Вашей первой записи бесят.
Я их часто теряю, а так искать пары проще, когда закрывающая строго под открывающей.
А ещё полюбил вот такое извращение с недавних пор:
LastHighBarBuffer[i]=LastHighBarBuffer[i-Period-1]; LastLowBarBuffer [i]=LastLowBarBuffer [i -1];
Опять же ради упрощения поиска опечаток.
А что про основной теме - компилятору, насколько я понимаю, без разницы. По прядку в первом случае, слева на право во втором. Первый вариант имеет смысл только ради случаев как я описал выше - забота о себе завтрашнем.
Привет! Расскажите как кто пишет условия, тоесть так:
или так:
есть ли вообще особая разница?
нужно еще помнить о компактной форме записи "if... else"
int Floor(double x) { return (x>0)?(int)x:((int)x-x>0)?(int)x-1:(int)x; }
Компактность заключается не только в замене If на ?, а else на :, а в том, что можно обойтись без задействия промежуточных переменных.
нужно еще помнить о компактной форме записи "if... else"
Компактность заключается не только в замене If на ?, а else на :, а в том, что можно обойтись без задействия промежуточных переменных.
При всем уважении, я так никогда не пишу, так как код плохо читается, а я люблю "просторное" написание, чтобы не разбирать абракадабру. Хотя, у всех головы устроены по разному, я видел совершенно извращенные формы форматирования у опытных программистов. Хотя, все они были родом из времен алфавитных экранов с зелененькими буковками формата 24 строчки на 80 символов. С одним работали в одном проекте, он тогда в штатах, я в России. Обменивались кодом через систему хранения версий, типа, как тут. И я постепенно научился понимать его стиль, а он мой. Уже в готовом проекте все пропускали через форматтер.
При всем уважении, я так никогда не пишу, так как код плохо читается, а я люблю "просторное" написание, чтобы не разбирать абракадабру. Хотя, у всех головы устроены по разному, я видел совершенно извращенные формы форматирования у опытных программистов. Хотя, все они были родом из времен алфавитных экранов с зелененькими буковками формата 24 строчки на 80 символов. С одним работали в одном проекте, он тогда в штатах, я в России. Обменивались кодом через систему хранения версий, типа, как тут. И я постепенно научился понимать его стиль, а он мой. Уже в готовом проекте все пропускали через форматтер.
Да, согласен. Для меня тоже важна видимость структуры программы, но лишь на этапе разработки и отладки. Когда алгоритм разработан и оттестирован, то чтобы его структура не захлямляла другую структуру, которая его использует, то я стараюсь его упаковать и выкинуть все лишнее для скорости и компактности.
Ну, проводятся же конкурсы по компактному коду. Иногда смотришь какую-нибудь рисованную графику, да еще со звуком MIDI, да размером килобайт и ясно понимаешь свое ничтожество ))
В большинстве случаев оказывается со всех сторон удобней вариант вообще без фигурных и форматирования
if(!uslov1) return; if(!uslov2) return; if(!uslov3) return; if(!uslov4) return; Run;При сложной отладке - особенно

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
или так:
if(uslov1 && uslov2 && uslov3 && uslov4) { Run; }
есть ли вообще особая разница?