Re[7]: Запись if с несколькими || или &&
От: Roman Odaisky Украина  
Дата: 25.04.08 20:47
Оценка:
Здравствуйте, igna, Вы писали:

CC>>Да замените себе diff утилиту на ту, которая будет подсвечивать не только измененные строки но и что именно в строках изменилось.


I>На какую?


В фильме «Карты, деньги и два ствола» подробно рассказывалось, на какую именно.
До последнего не верил в пирамиду Лебедева.
Re[6]: Ну что ж. Мастер класс, так мастер класс :)
От: Erop Россия  
Дата: 26.04.08 00:35
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Переставлять надо не так уж часто. А вот закомментировать? Речь ведь о том, что работать с отдельными строками намного проще, чем с подстроками. Та же MSVS позволяет двумя клавишами — ^K^C — закомментировать строку. А подстроку еще надо выделить, да и многие стандарты кодирования запрещают /*—*/.


Обычно стандарты кодирования запрещають иметь закомментированный код...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: Ну что ж. Мастер класс, так мастер класс :)
От: Cyberax Марс  
Дата: 26.04.08 01:44
Оценка:
Здравствуйте, Erop, Вы писали:

RO>>Переставлять надо не так уж часто. А вот закомментировать? Речь ведь о том, что работать с отдельными строками намного проще, чем с подстроками. Та же MSVS позволяет двумя клавишами — ^K^C — закомментировать строку. А подстроку еще надо выделить, да и многие стандарты кодирования запрещают /*—*/.

E>Обычно стандарты кодирования запрещають иметь закомментированный код...
Жестокие стандарты...
Sapienti sat!
Re[6]: Запись if с несколькими || или &&
От: andy1618 Россия  
Дата: 26.04.08 02:44
Оценка: :)))
A>>Во-во. Лично я бы голову сломал, пытаясь осознать глубину замысла аффтара

I>Ну-ну. А долго ломал бы?


Примерно 15 минут: 5 минут на чтение док (мало ли!), 5 минут на опрос коллег (мало ли!), и ещё 5 минут — на пост в bash.org.ru
Re[8]: Ну что ж. Мастер класс, так мастер класс :)
От: Erop Россия  
Дата: 26.04.08 03:07
Оценка:
Здравствуйте, Cyberax, Вы писали:

E>>Обычно стандарты кодирования запрещають иметь закомментированный код...

C>Жестокие стандарты...
Зато удобно читать из чего-то вроде NotePad или с распечатки.

Кстати, а зачем комментировать код, если есть CSV?
Комментарии по идее должны бы для читателя поясненя содержать, а не мусор всякий...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: Ну что ж. Мастер класс, так мастер класс :)
От: sc Россия  
Дата: 26.04.08 04:31
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

>...Та же MSVS позволяет двумя клавишами — ^K^C — закомментировать строку. А подстроку еще надо выделить, да и многие стандарты кодирования запрещают /*—*/.


А у меня студия + виж. ассист позволяет одной *
У кого кроче/длиннее?
Re[7]: Запись if с несколькими || или &&
От: sc Россия  
Дата: 26.04.08 04:36
Оценка: 2 (1) +1
Здравствуйте, igna, Вы писали:

I>Здравствуйте, CreatorCray, Вы писали:


CC>>Да замените себе diff утилиту на ту, которая будет подсвечивать не только измененные строки но и что именно в строках изменилось.


I>На какую?

Есть еще WinMerge (сам пользую и дома и на работе), делает, почти то же что и арахис, в том числе и подсвечивает изменения в строке. Да еще и бесплатна.
Re[8]: Запись if с несколькими || или &&
От: igna Россия  
Дата: 26.04.08 06:14
Оценка:
Здравствуйте, Erop, Вы писали:

I>>    const char * suitable_extensions[] = {
I>>        "lib",
I>>    };


E>Выделенное не совсем стандартно.


Что такое "не совсем"? Грамматика позволяет:

A.7 Declarators

. . .


initializer-clause:
        assignment-expression
        { initializer-list ,opt }
        { }

Re[8]: Запись if с несколькими || или &&
От: igna Россия  
Дата: 26.04.08 06:24
Оценка: :)
Здравствуйте, sc, Вы писали:

sc>Есть еще WinMerge (сам пользую и дома и на работе), делает, почти то же что и арахис, в том числе и подсвечивает изменения в строке. Да еще и бесплатна.


Порадовали начинающиеся с запятой строки на скриншоте.
Re: Запись if с несколькими || или &&
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.04.08 06:28
Оценка: 1 (1) +2
Здравствуйте, igna, Вы писали:

I>
I>if (false
I>    || condition1
I>    || condition2
I>    || condition3
I>    || condition4
I>    || condition5
I>)


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

У меня нет никаких таких новомодных диффовалок, я работаю только под Unix и пользуюсь стандартным diff'ом имени Larry Wall, предком всех диффовалок, и только в unified context режиме. (Это тот, при котором перед строками плюсы и минусы.) Причём обычно даже без цвета. Действительно, иногда бывают ситуации, когда удобно увидеть целиком изменённую, добавленную или удалённую строку или группу строк — они логически группируются. Но, во-первых, для большинства случаев хватает обычного разделения на строки согласно самому стандартному стилю, применяемому ко всем языкам программирования, от алгола и бейсика до ML и лиспа. Во-вторых, когда смотришь дифф — надо всё равно проверять контекст, то есть посмотреть на показанные соседние неменяющиеся строки (и это не зависит от того, какое средство и в каком формате его показывает). Значит, в них надо смотреть и от этого построчное форматирование не избавит.

Далее, ситуации с таким простым и прямолинейным if, мне кажется, встречаются крайне редко. Значительно более вероятно объединение условий в группы (по типу if((c1&&c2)||(c3&&c4&&!c5))), перестановки блоков одновременно с изменением условий и так далее... и для них этот рецепт мало чем поможет. И даже случай, как описан здесь, с несколькими текстовыми шаблонами на которые надо проверять — вероятнее.

Думаю, автор темы пытается оптимизировать работу под свою специфику восприятия (да, у каждого она своя) и одновременно под своего VCS клиента. Но вряд ли это будет точно так же полезно для кого-то, кроме его ближайших родственников.
The God is real, unless declared integer.
Re[2]: офф-топик
От: igna Россия  
Дата: 26.04.08 06:31
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Поэтому же я сильно не люблю сановские «} else {»: как закомментировать весь блок else, спрашивается?


Может я неверно тебя понял, но наверное так:

if (condition) {
    expression1;
    expression2;
} else {
//    expression3;
//    expression4;
}
Re[2]: Запись if с несколькими || или &&
От: igna Россия  
Дата: 26.04.08 06:47
Оценка: :)
Здравствуйте, netch80, Вы писали:

N>Далее, ситуации с таким простым и прямолинейным if, мне кажется, встречаются крайне редко.


Ну так я же не написал, что использую такую запись всегда. Более того, до сих пор я использовал ее в двух местах. Что-то вроде:

if (false
    || s == "Беларусь"
    || s == "Великобритания"
    || s == "Германия"
    || s == "Россия"
    || s == "Украина"
    || s == "Франция"
)


Теперь можно добавить Австралию и Японию сохранив алфавитный порядок и не изменив никакой другой строки:

if (false
    || s == "Австралия"
    || s == "Беларусь"
    || s == "Великобритания"
    || s == "Германия"
    || s == "Россия"
    || s == "Украина"
    || s == "Франция"
    || s == "Япония"
)
Re[7]: Ну что ж. Мастер класс, так мастер класс :)
От: igna Россия  
Дата: 26.04.08 06:50
Оценка:
Здравствуйте, Erop, Вы писали:

E>Обычно стандарты кодирования запрещають иметь закомментированный код...


Вот с этим запретом я согласен. Но возможность быстро закомментировать код бывает нужна при тестировании и отладке.
Re[3]: Альтернатива
От: igna Россия  
Дата: 26.04.08 06:56
Оценка:
Те, кому не нравится слово false в начале, могут переместить его в конец:

if (
    s == "Беларусь" ||
    s == "Великобритания" ||
    s == "Германия" ||
    s == "Россия" ||
    s == "Украина" ||
    s == "Франция" ||
false)
Re[9]: Запись if с несколькими || или &&
От: sc Россия  
Дата: 26.04.08 07:54
Оценка:
Здравствуйте, igna, Вы писали:

I>Здравствуйте, sc, Вы писали:


sc>>Есть еще WinMerge (сам пользую и дома и на работе), делает, почти то же что и арахис, в том числе и подсвечивает изменения в строке. Да еще и бесплатна.


I>Порадовали начинающиеся с запятой строки на скриншоте.

Рад что понравилась
Я тоже так пишу, когда членов класса много. А когда мало в строчку. Также и с if'ами (когда короткие — в строчку).
Мне только не понятно зачем false?
Re[8]: Ну что ж. Мастер класс, так мастер класс :)
От: Erop Россия  
Дата: 26.04.08 08:39
Оценка:
Здравствуйте, igna, Вы писали:

E>>Обычно стандарты кодирования запрещають иметь закомментированный код...

I>Вот с этим запретом я согласен. Но возможность быстро закомментировать код бывает нужна при тестировании и отладке.
Ну при тестировании и отладке можно и
/* совершенно некашерными комментариями */
пользоваться
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: Альтернатива
От: Erop Россия  
Дата: 26.04.08 08:43
Оценка:
Здравствуйте, igna, Вы писали:

I>
I>if (
I>false)
I>


Всё-таки альтернатива с str_find_one_of намного милее моему сердцу. Тем более, что обычно функцию str_find_one_of реализовывать не надо, а можжно воспользоваться каким -нибудь стандартным средством поиска в списке...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[8]: Запись if с несколькими || или &&
От: CreatorCray  
Дата: 26.04.08 08:51
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

CC>>>Да замените себе diff утилиту на ту, которая будет подсвечивать не только измененные строки но и что именно в строках изменилось.

I>>На какую?
RO>В фильме «Карты, деньги и два ствола» подробно рассказывалось, на какую именно.
Эээ... Это такая тонкая шутка юмора?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[10]: Запись if с несколькими || или &&
От: igna Россия  
Дата: 26.04.08 08:54
Оценка:
Здравствуйте, sc, Вы писали:

sc>Мне только не понятно зачем false?


Чтобы первое и последнее подусловия не отличались от остальных. Здесь
Автор: igna
Дата: 26.04.08
.
Re[5]: Альтернатива
От: igna Россия  
Дата: 26.04.08 08:58
Оценка:
Здравствуйте, Erop, Вы писали:

E>Всё-таки альтернатива с str_find_one_of намного милее моему сердцу. Тем более, что обычно функцию str_find_one_of реализовывать не надо, а можжно воспользоваться каким -нибудь стандартным средством поиска в списке...


Ты лучше нарисуй. Эту милую сердцу альтернативу моему:

if (false
    || s == "Беларусь"
    || s == "Великобритания"
    || s == "Германия"
    || s == "Россия"
    || s == "Украина"
    || s == "Франция"
)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.