Стиль

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Стиль

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

Сейчас задам вопрос. Просьба не разводить и не опускаться до религиозной борьбы. Скажите свое мнение плюсы и минусы. :)

Итак имеем два стиля для написания конструкции if, for, while....

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

if () {

}
или

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

if ()
{

}
т.е. где ставим первую фигурную скобку. за оператором или на новой строке. Выбирете вариант и напишите почему именно этот вариант. Почему не другой вариант? На какие грабли наступали?

Спасибо! :)
Аватара пользователя
Akrav
Графоман
Сообщения: 12527
Зарегистрирован: 17 июн 2003, 13:30

Сообщение Akrav »

Я предпочитаю второй способ. Видно блок с одного взгляда. Хотя у Кернигана и Ричи везде первый - меньше строк расходуется на то же количество кода.
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

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

я предпочитаю второй. число строк для меня роли не играет. хочется чтобы код было легко читать. блоки видно.
Аватара пользователя
Lepsik
Житель
Сообщения: 522
Зарегистрирован: 17 фев 2003, 18:34
Откуда: Berlin
Контактная информация:

Сообщение Lepsik »

второй беусловно лучше. так и пишу
Аватара пользователя
Akrav
Графоман
Сообщения: 12527
Зарегистрирован: 17 июн 2003, 13:30

Сообщение Akrav »

папа Карло писал(а):я предпочитаю второй. число строк для меня роли не играет. хочется чтобы код было легко читать. блоки видно.
Раньше было 24 строки на дисплее.
Аватара пользователя
...
Частый Гость
Сообщения: 38
Зарегистрирован: 25 фев 2003, 10:13

Сообщение ... »

#define BEGIN {
#define END }

if ()
BEGIN

....
END



:lol:

ну а если по серьезному, то второй...
Аватара пользователя
Циник
Завсегдатай
Сообщения: 442
Зарегистрирован: 17 фев 2003, 17:17

Re: Стиль

Сообщение Циник »

папа Карло писал(а):имеем два стиля для написания конструкции if, for, while....

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

if () {

}
или

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

if ()
{

}
т.е. где ставим первую фигурную скобку. за оператором или на новой строке. Выбирете вариант и напишите почему именно этот вариант. Почему не другой вариант?
Я, товарищи, предпочитаю первый способ, из эстетико-методологических соображений (см. ниже), причем в таком варианте (обратите внимание на строку с else):

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

if (foo) {
  bar;
} else { 
  fee;
}
Почему? Экономия строк здесь, конечно, ни при чем.

Методология: При таком написании мы имеем четкое разделение строк на два типа: хэдеры (футеры/дивайдеры) и тело оператора, причем разные типы не могут смешиваться, т.е. одновременно присутствовать в одной строке. Хэдеры всегда однострочные, в отличие от предложенного выше варианта 2. Тело оператора всегда индентируется на один отступ внутрь относительно ближайшего внешнего хэдера. Стройно, единообразно, удобочитаемо.

Эстетика: Мне так нравится :twisted:
На какие грабли наступали?
Граблей здесь никаких нет, кроме спорадического сопротивления отчаявшихся народных масс.
Спасибо! :)
Не за что, товарищ :twisted:
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Re: Стиль

Сообщение ajkj3em »

Циник писал(а): ...

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

if (foo) {
  bar;
} else { 
  fee;
}
...
а как ты, товарищ,

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

if ()
{
}
else
if ()
{
}
else
if ()
{
}
else
{
}
форматируешь ? (switch-case для non-integral types)
Аватара пользователя
Циник
Завсегдатай
Сообщения: 442
Зарегистрирован: 17 фев 2003, 17:17

Re: Стиль

Сообщение Циник »

huh писал(а):а как ты, товарищ,

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

if ()
{
}
else
if ()
{
}
else
if ()
{
}
else
{
}
форматируешь ? (switch-case для non-integral types)
А вот раз он по сути свитч, товарищ, как ты верно заметил, то и форматируем его именно как свитч, в полном соответствии с вышеизложенной методологией, и не в разрез с эстетикой:

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

if () {
  foo;
} else if () {
  bar;
} else if () {
  fee;
} else {
  boo;
}
Вообще, сильновложенные и многажды индентированные ифы - зло :twisted:
Vovchik
Маньяк
Сообщения: 2841
Зарегистрирован: 20 фев 2003, 09:15
Откуда: Vancouver

Дурью маетесь, теоретики.

Сообщение Vovchik »

Такие рассуждения уместны в университете среди профессоров. Но никак среди пролетариев умственного труда, которые до сих пор никак не въехади, что чем дерьмовее код, тем выше job secuirity его автора.

Знаю, знаю что скажете.... Сам такой был. Но джунгли капитализьма знаете ли отрегулировали картину мира.
Woozy
Завсегдатай
Сообщения: 278
Зарегистрирован: 03 мар 2003, 08:55
Откуда: RU->BC->ON->FI -> Chicago, IL -> Seattle, WA

Re: Дурью маетесь, теоретики.

Сообщение Woozy »

Vovchik писал(а):Но никак среди пролетариев умственного труда, которые до сих пор никак не въехади, что чем дерьмовее код, тем выше job secuirity его автора.
Так Вовчик пытается оскорбить тех, кого "до сих пор оттуда не уволили". :lol:
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Re: Дурью маетесь, теоретики.

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

Woozy писал(а):Так Вовчик пытается оскорбить тех, кого "до сих пор оттуда не уволили". :lol:
ха-ха-ха.... :lol:

Вовчик, реально я за плохой код "дрючу". :) если учесть что я человек очень дотошный, людям приходится менять если они не хотят тратить нервные клетки. :)
Аватара пользователя
Циник
Завсегдатай
Сообщения: 442
Зарегистрирован: 17 фев 2003, 17:17

Сообщение Циник »

Ну, так и где твое обратное кормление, товарищ Карло? Я имею в виду feedback? :twisted:
Как тебе предложенные варианты? Что ты сам-то предпочитаешь и почему?
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

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

там же вверху написано что я предпочитаю. не читаем, товарищ! :twisted:

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

if () 
{ 

}
Аватара пользователя
Циник
Завсегдатай
Сообщения: 442
Зарегистрирован: 17 фев 2003, 17:17

Сообщение Циник »

папа Карло писал(а):там же вверху написано что я предпочитаю. не читаем, товарищ! :twisted:
Это только часть моего вопроса, товарищ Карло (хотя упрек, конечно, придется принять). Другая часть - фидбэк на предложения где? Более конкетно - в чем бы ты возразил моему варианту? По части методологии, по части эстетики?
Ответить