Straight forward

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
Mel'nik
Завсегдатай
Сообщения: 407
Зарегистрирован: 22 май 2007, 19:09
Откуда: Burnaby

Straight forward

Сообщение Mel'nik »

Код: Выделить всё

if (!venue.getCountryName().toLowerCase().contains("canada")) return false;
		return true;
:s2:
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Re: Straight forward

Сообщение папа Карло »

"хороший код".
badger

Re: Straight forward

Сообщение badger »

Не говоря о том, чему Вы подкрутили у виска, вообще, использовать if без else в подобных конструкциях -- это дурной тон.

Плёхо

Код: Выделить всё

if (someShit)
    return blahBlah;

return fooBar;
Харашо

Код: Выделить всё

if (someShit)
    return blahBlah;
else
    return fooBar;
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Re: Straight forward

Сообщение aissp »

только на етот гениальный код компилятор всегда выдает ворнинг, и очень правильно делает :D

да и код настолько дурен, что в коменнтариях не нуждается. :D
badger

Re: Straight forward

Сообщение badger »

От компилятора зависит. Может выдать ворнинг, а может и не выдать. Разные по-разному.
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Re: Straight forward

Сообщение aissp »

если не выдает то кто-то не правильный писал компилятор (те с которыми работал я все хором дают ворнинг, на самом деле мне кажется вы лукавите. с точки зрения логики кодера таких компиляторов не может быть :), но поверим вам на слово), там была втора фраза - и правильно делает :) она видно мимо прошла...
Аватара пользователя
CdR
Графоман
Сообщения: 11245
Зарегистрирован: 11 окт 2004, 19:27
Откуда: Европа, центр, за углом направо.

Re: Straight forward

Сообщение CdR »

Ладно, а чем так не угодил if без else?
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Re: Straight forward

Сообщение aissp »

вам - тут не уместно :) я считаю етот код абсолютно законен, только надо аккуратно кодировать не расбрасывая мозк в теории=)
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45294
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Straight forward

Сообщение Stanislav »

badger писал(а):Не говоря о том, чему Вы подкрутили у виска, вообще, использовать if без else в подобных конструкциях -- это дурной тон.

Плёхо

Код: Выделить всё

if (someShit)
    return blahBlah;

return fooBar;
Харашо

Код: Выделить всё

if (someShit)
    return blahBlah;
else
    return fooBar;
Ну почему вы всегда рассматриваете книжные тривиальные примеры?
Представьте, что процедура на 2-3-4 экрана, а в начале процедуры случился какой-то шыт - ну взяли и отвалились, что плохого? Можно написать элс-иф, но читать то потом как? А если там по пути еще надо отвалиться? И еще десяток ифов? Если я вижу такой длинный иф, я предполагаю, что были веские основания его запузырить, а не просто любофф к искуйству. Насрать на компилятор - он железный, надо писать, чтобы удобнее было потом читать. ИМХО, такой отвал аналог бряка в цикле. Или вы бряк тоже считаете дурным тоном, поскольку он аналог гоу-ту?
Аватара пользователя
Дима
Маньяк
Сообщения: 1455
Зарегистрирован: 15 авг 2006, 10:21
Откуда: Минск->Vancouver->Victoria

Re: Straight forward

Сообщение Дима »

Код: Выделить всё

return (someShit) ? blahBlah : fooBar;
Аватара пользователя
Mel'nik
Завсегдатай
Сообщения: 407
Зарегистрирован: 22 май 2007, 19:09
Откуда: Burnaby

Re: Straight forward

Сообщение Mel'nik »

Да собственно фиг бы с if , добило ! перед логической операцией. 3аменено на

Код: Выделить всё

return(someShit)
ибо если someShit == false нахера ето дело делать true чтобы все равно вернуть false...

P.S. И такая дребедень каждый день :evil:
Аватара пользователя
Mel'nik
Завсегдатай
Сообщения: 407
Зарегистрирован: 22 май 2007, 19:09
Откуда: Burnaby

Re: Straight forward

Сообщение Mel'nik »

Кстати перечитав комменты заметил, что не один я, в первом чтении, етого незаметил :mrgreen:
Аватара пользователя
Дима
Маньяк
Сообщения: 1455
Зарегистрирован: 15 авг 2006, 10:21
Откуда: Минск->Vancouver->Victoria

Re: Straight forward

Сообщение Дима »

Mel'nik писал(а):Кстати перечитав комменты заметил, что не один я, в первом чтении, етого незаметил :mrgreen:
Не, ну понятно, что в изначальной мессаге 1 строкa лишняя, а в оставшейся есть лишний оператор ;) Читать - начиная с мессаги #2 :)
badger

Re: Straight forward

Сообщение badger »

Mel'nik писал(а):Да собственно фиг бы с if , добило ! перед логической операцией. 3аменено на

Код: Выделить всё

return(someShit)
ибо если someShit == false нахера ето дело делать true чтобы все равно вернуть false...

P.S. И такая дребедень каждый день :evil:
Естественно. Про это даже речи не может быть. Я об этом сразу и написал.
badger

Re: Straight forward

Сообщение badger »

Stanislav писал(а):Ну почему вы всегда рассматриваете книжные тривиальные примеры?
Это не книжный пример, а стиль программирования. Самая что ни на есть практика. Вы меня, Стас, извините, но чтобы эффективно программировать, всё же надо бы и теорию знать, хотя бы азы. А это самые азы и есть. Dijsktra и прочие подобные.

Я, конечно же, забыл поставить IMHO. Кому-то Dijsktra авторитет, кому-то нет. Кто-то считает, что это нормально, когда логическое ветвление ломается таким образом, кто-то считает, что это дурной тон. Я принадлежу к последним.
Представьте, что процедура на 2-3-4 экрана, а в начале процедуры случился какой-то шыт - ну взяли и отвалились, что плохого?
Процедуры на два-три экрана в общем случае -- дурной тон. Скажите мне, зачем вообще изобрели такой велосипед, как разбиение на функции, модули и т.д.? К сожалению, кто не прошёл через Common Lisp и через функциональные языки, плохо понимает это.
Если я вижу такой длинный иф, я предполагаю, что были веские основания его запузырить, а не просто любофф к искуйству.
Глубокие if-вложения практически всегда признак плохого дизайна. Но, разумеется, if ifу рознь, Стас. Я же потому и написал, что в подобных конструкциях лучше if-else! То есть в конструкциях, где точки выхода из условия принадлежат к одному типу. Я же не писал, что всякая хрень вроде

Код: Выделить всё

if (isDebug) {
   blah-blah
}
должна содержать else.
ИМХО, такой отвал аналог бряка в цикле. Или вы бряк тоже считаете дурным тоном, поскольку он аналог гоу-ту?
break да, тоже зло. Но неизбежное. На goto зря Вы наезжаете. Это не табу какое-то. Иногда удобнее с goto, чем извращаться через задний проход.
Ответить