 |
Болтовня Разговоры на любые темы (думайте, о чем пишите) |
25.04.2012, 19:21
|
#16
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
Сообщение от SBJoker
Basic like style.
|
питон жеж, ты чо!
основное отличие - блоки кода определяются не скобками, не парами begin/end, а отступами.
|
(Offline)
|
|
25.04.2012, 19:26
|
#17
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
Сообщение от ffinder
питон жеж, ты чо!
основное отличие - блоки кода определяются не скобками, не парами begin/end, а отступами.
|
на нём ещё Маяковский писал!
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
|
|
25.04.2012, 20:31
|
#18
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,372
Написано 2,478 полезных сообщений (для 6,866 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
Сообщение от ffinder
открой для себя python\boo (последний есть в юнити, кстати)
def ololo(a as int):
if a > 2:
return "nope"
else:
return "yap"
|
Вот благодаря таким вот любителям я открываю порой php сорс и вижу:
if ($ololo):
someAction();
else:
for($i=0;$i<100500;$i++):
blahBlahBlah($i);
endfor;
endif;
Что вызывает термоядерную ярость.
Сообщение от ABTOMAT
юзаю исключительно второй вариант, имхо читабельнее, скобки сразу в глаза бросаются.
"Как мне IDE сказал - так и делаю"
|
NetBeans ты специально на
перенастраивал
По теме:
Использую по возможности только:
if(ololoSha){
/*.... */
}
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.04.2012, 21:06
|
#19
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,743
Написано 5,461 полезных сообщений (для 15,676 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
NetBeans ты специально на
|
Это была ирония, т.к. нехрен грить что зависит от ИДЕ: это всегда перенастраивается (иначе ИДЕ место на помойке)
Использую по возможности только:
|
А мне наоборот не нравится.
Например в качестве дебага я захотел условие заставить работать в любом случае. Если бы
То я бы просто закомментил первую строчку и всё. В твоём случае так просто не выйдет. Можно юзнуть трюк && 0 или || 1 но тогда это не так бросается в глаза, как серая строчка коммента, потом найти сложнее и т.д.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
25.04.2012, 21:39
|
#20
|
Бывалый
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений (для 1,836 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
Пишу первый вариант. Не помню уже почему, просто привычка такая.
Если IDE потом поправляет - не заморачиваюсь.
А вот пробелы бывают не к месту. Они разрыхляют код и делают его труднее для восприятия, имхо.
Например:
if (*something*) { /* code */ }
я исправил бы на
if(*something*){ /* code */ }
|
(Offline)
|
|
25.04.2012, 22:17
|
#21
|
Разработчик
Регистрация: 27.01.2011
Адрес: Афипский
Сообщений: 419
Написано 100 полезных сообщений (для 182 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
Сообщение от Randomize
Вот благодаря таким вот любителям я открываю порой php сорс и вижу:
if ($ololo):
someAction();
else:
for($i=0;$i<100500;$i++):
blahBlahBlah($i);
endfor;
endif;
Что вызывает термоядерную ярость.
|
эмм... А как правильно?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.04.2012, 23:26
|
#22
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,743
Написано 5,461 полезных сообщений (для 15,676 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
Сообщение от AVL
эмм... А как правильно?
|
Правильно использовать православную блочную структуру кода (какой опступ использовать - в данный момент обсуждается) доставшуюся ещё от дедушки Си:
if($ololo) { someAction(); } else { for($i=0;$i<100500;$i++) { blahBlahBlah($i); } }
Т.е. блоки заключены в фигурные скобки, как и во всех си-подобных языках. Но т.к. php освоить может даже макака, в него были добавлены также бейсикопаскалеподобные блоки для тех, кому сишные непонятны. Я вот щитаю что они — пережиток прошлого, нужны только для обучения подрастающего поколения (когда новичку сложно разобраться во всех этих фигурных скобках, а бейзиковское IF - END IF для него понятнее), но никак не в профессиональных исходниках. Собственно и сами паскаль и бейзик уже давно считаются академическими. Тут дело в том что с точки зрения бейсика например блок может существовать только в совокупности с оператором (например IF - END IF, FOR - NEXT и т.д.), а с точки зрения же Си блок может вообще существовать где угодно, вот почему в
if(ololo) { doSomething(); }
Можно закомментить первую строку и всё будет работать. С бейзикоподобными так уже не выйдет. Ну и если нужно заменить оператор - придётся заменять ещё и закрывающую "скобку". А ещё можно в одну строку записывать и т.д. и т.п. В паскале же (ЕМНИП) блок может существовать отдельно, но там "скобки" довольно громоздки: вместо { и } там begin и end. И в одну строку нельзя.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
25.04.2012, 23:50
|
#23
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
Специально не отвечал - ждал полнолуния ВремениКода чтобы внезапно глянуть: как же именно я пишу, а не подсознательно тяготеть к одному из ответов. Итак - кодил на цпп в к::б
int ololo (int a) {
return a;
}
Но дело тут не в авторах учебников, и я даже не буду настаивать что мой вариант лучше - скорее это дело привычки.
Сообщение от В. В. Маяковский
Мы диалектику учили не по Гегелю
|
А вот ещё вам вопросы: а как вы оформляете switch (где ставите скобки, делаете ли для тела case отдельный уровень отступов)? А public\private отстоят отдельно или на том же отступе что и члены объекта?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
26.04.2012, 00:18
|
#24
|
Бывалый
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений (для 546 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
либо так:
switch (t_v)
{
case 1:{return Convert.ToInt32(list_scv[j].val2).ToString();}break;
case 2:{return list_scv[j].val2.ToString();}break;
case 3:{return list_scv[j].val2.ToString();}break;
default:{MessageBox.Show("WTF???");}break;
}
либо так:
switch (t_v)
{
case 1:
case 2:
{
int a=string_part(s,1,"-1234567890",0);
if (a!=s.Length)
{
if (s.Substring(a,1)==",")
{
if (a+1<=s.Length)
{
if (string_part(s,a+1,"1234567890",0)==s.Length)
{
if (t_v==1)
{return Convert.ToInt32(Convert.ToDouble(s)).ToString();}
else
{return s;}
}
else
{
MessageBox.Show("Incorrect value of object.");
}
}
else
{
MessageBox.Show("Incorrect value of object.");
}
}
else
{
MessageBox.Show("Incorrect value of object.");
}
}
else
{
return s;
}
}break;
case 3:
{
if (s.Substring(0,1)=="'" && s.Substring(s.Length-1)=="'")
{
return s;
}
else
{
MessageBox.Show("Incorrect value of object.");
}
}break;
default:
{MessageBox.Show("WTF??");}break;
}
Но терь я прочитал 200 страниц шмидта и знаю, что брейк нужно использовать внутри кодового блока. А также, что недостижимый код (break; после return) это ошибка програмирования. Хотя я их оставлял (их это break; ) на случай если решу удалить return и вдруг забуду добавить break;. Ведь посути недостижимый код компилятор наверное не компилирует?
|
(Offline)
|
|
26.04.2012, 00:26
|
#25
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
На C# + ReSharper можно видеть сразу недостижимый код не компилируя:

|
(Offline)
|
|
26.04.2012, 00:31
|
#26
|
Бывалый
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений (для 546 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
Сообщение от pax
На C# + ReSharper можно видеть сразу недостижимый код не компилируя:
Вложение 16703
|
VS подчеркивает зеленым недостижимый код, до компилирования. 
|
(Offline)
|
|
26.04.2012, 00:44
|
#27
|
Разработчик
Регистрация: 27.01.2011
Адрес: Афипский
Сообщений: 419
Написано 100 полезных сообщений (для 182 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
Сообщение от ABTOMAT
if($ololo)
{
someAction();
}
else
{
for($i=0;$i<100500;$i++)
{
blahBlahBlah($i);
}
}
|
Заменяем скобки на begin/end и получаем паскаль:
if(ololo)
begin
someAction();
end
else
begin
for i=0 to 100500 do
begin
blahBlahBlah(i);
end
end
не?
|
(Offline)
|
|
26.04.2012, 01:12
|
#28
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,743
Написано 5,461 полезных сообщений (для 15,676 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
Я про паскаль написал в том же посте снизу.
Сделай-ка мне вот так в паскале:
if($a){ pokushai(); popei(); pospi(); }
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
26.04.2012, 01:19
|
#29
|
Бывалый
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений (для 1,836 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
А в чем подвох?
if a then begin pokushai(); popei(); pospi(); end;
Разница только в том, что слова длиннее символов. Ну и смотрятся немного по другому.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.04.2012, 02:15
|
#30
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Какая запись кодового блока вам милее?
а как вы оформляете switch
|
лол, кстати в жизни его не юзал, начиная с бейсика и кончая С++.
в С++ особенно. какие-то брейки, default.
синтаксис if проще)
if (a==1)
{
}
else if (a==2)
{
}
else if (a==3)
{
}
опционально else
{
}
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:47.
|