Страница 5 из 6
Re: К чему это?
Добавлено: 01 фев 2010, 21:55
Marmot
aissp писал(а):? постфиксная операция подразумевает создание временного объекта типа
соотв по умолчанию надо пользоваться префиесной. Сказки про компилятор не катят, с итераторми к примеру компилятор не поменяет постфиксный оператор на префиксный...
Умный компилятор такую хрень ваще анроллить должен...
Re: К чему это?
Добавлено: 01 фев 2010, 22:05
igrbt
Slav писал(а):igrbt писал(а):Woops случайно упустил два ключевых слова читать надо так:
Как насчет set/get e.g accessors (С++)- сколько там строчек кода - 1!
Cheers
Ну, ты не только это упустил.
Если разговор идет о
А за войд функции без параметров и содержащие только одну строчку ...
, то сеты и геты каким здесь боком?
Да нет не упустил - это всего лишь один из примеров. Минимизация размера процедуры толкает к обобщению. Это не так и плохо. Ниже пример функции из 3х строк.
size_t ala_str_len(char* s){
char* p = s;
while(p && *p) p++;
return p-s;
}
get и set тоже не так уж и плохо поскольку они укладываются в ООП и оставляют место для раcширениея.
Но не только accessors однострочные как начет функций верхнего уровня (porting etc):
void f_selector(enum libType lt, enum funcType ft, ...)
{
.....
}
void find_x(int num,int* result)
{
f_selector(libTypeFindPrime,integer,num,result);
}
Надеюсь они тоже однострочные... или как?
Re: К чему это?
Добавлено: 01 фев 2010, 22:52
aissp
ты яву или интерпритатор байсика имеешь ввиду?

Re: К чему это?
Добавлено: 01 фев 2010, 23:25
igrbt
c/c++.
Re: К чему это?
Добавлено: 01 фев 2010, 23:34
aissp
я мармоту отвечал
Re: К чему это?
Добавлено: 01 фев 2010, 23:56
Rai
aissp писал(а):должно работать однако :)
а так выглядит как дебажный код который не убрали ни фига. Хотя число 100 напрягает слегка :)
Сначала тут был развернутый ответ с пояснениями. А потом я его почикал, поскольку самым емким объяснением будет следующее: там дело не в дебаге, а таки в ДНК :)
Re: К чему это?
Добавлено: 02 фев 2010, 08:10
Marmot
aissp писал(а):ты яву или интерпритатор байсика имеешь ввиду?

Ты хочешь сказать, что c/c++ компайлеры не умеют делать loop unrolling?

Re: К чему это?
Добавлено: 02 фев 2010, 08:31
Slav
igrbt писал(а):Slav писал(а):igrbt писал(а):Woops случайно упустил два ключевых слова читать надо так:
Как насчет set/get e.g accessors (С++)- сколько там строчек кода - 1!
Cheers
Ну, ты не только это упустил.
Если разговор идет о
А за войд функции без параметров и содержащие только одну строчку ...
, то сеты и геты каким здесь боком?
...
Но не только accessors однострочные как начет функций верхнего уровня (porting etc):
void f_selector(enum libType lt, enum funcType ft, ...)
{
.....
}
void find_x(int num,int* result)
{
f_selector(libTypeFindPrime,integer,num,result);
}
Надеюсь они тоже однострочные... или как?
Однострочные.
Однако, что ты пытаешься доказать?
Что кто-то выступает против однострочных функций? - Отнюдь.
Повторяю еще раз. Следи за руками:
А за войд функции без параметров и содержащие только одну строчку ...
Два твоих последних примера - функции
без параметров?
ПС
Правильный ответ будет: "упс!"
Re: К чему это?
Добавлено: 02 фев 2010, 09:55
Marmot
Slav писал(а):
Повторяю еще раз. Следи за руками:
А за войд функции без параметров и содержащие только одну строчку ...
Это запросто может быть интефейсная закладка на будущее...
Типа, пока там только одна строчка, но кто знает, что может случится потом...
Re: К чему это?
Добавлено: 02 фев 2010, 10:14
aissp
а ты хочешь сказать что яФа умеет ето делать? Если i указатель на базовый класс а ++ ето виртальная операция? Если да, то ето не компилятор

Re: К чему это?
Добавлено: 02 фев 2010, 10:20
Marmot
aissp писал(а):а ты хочешь сказать что яФа умеет ето делать? Если i указатель на базовый класс а ++ ето виртальная операция? Если да, то ето не компилятор

Я говорил именно о том фрагменте, с которого начался раговор, где i это int
Я правильно понимаю, что даже в таких случаях c/c++ компайлер не делает анроллинг, только потому, что i может быть "указателем на базовый класс" ?
Re: К чему это?
Добавлено: 02 фев 2010, 10:36
Slav
Marmot писал(а):Slav писал(а):
Повторяю еще раз. Следи за руками:
А за войд функции без параметров и содержащие только одну строчку ...
Это запросто может быть интефейсная закладка на будущее...
Типа, пока там только одна строчка, но кто знает, что может случится потом...
Когда это все в процессе - то я и сам так всегда делаю. Однако, как гриться, неоконченную работу дуракам не показывают.
Я полагал, что мы говорим о конечном продукте (коде).
Финальную чистку и дебош (рефакторинг) еще никто не отменял...
Re: К чему это?
Добавлено: 02 фев 2010, 10:43
Marmot
Slav писал(а):Marmot писал(а):Slav писал(а):
Повторяю еще раз. Следи за руками:
А за войд функции без параметров и содержащие только одну строчку ...
Это запросто может быть интефейсная закладка на будущее...
Типа, пока там только одна строчка, но кто знает, что может случится потом...
Когда это все в процессе - то я и сам так всегда делаю. Однако, как гриться, неоконченную работу дуракам не показывают.
Я полагал, что мы говорим о конечном продукте (коде).
Финальную чистку и дебош (рефакторинг) еще никто не отменял...
Имхо, реальный продукт никогда понастоящему финальным не бывает, процесс разработки должен продолжаться, разные команды работают с разными приоритетами и скоростями. Никакой трагедии в этих однострочниках я не вижу...
Тем более, что в данном случае, в финальном продукте - сгенерированном коде, чистку должен сделать умный компилятор.
Re: К чему это?
Добавлено: 02 фев 2010, 12:16
aissp
гхм, если позволишь я отметил немножко (а точнее совсем) другое. Общеищвестно правило, на красный надо стоять на зеленый ехать. Ето правило естсевенно нарушать когда действительно надо ехать. И любой водитель делает ето на автомате. Так вот от абстрактного примера к тому что я написал, поскольку постфиксная форма реализуется через префиксную, программист (нормальный а не тот кто на яве) пишет префиксную форму, вместо постфиксной, также как водитель на автомате давит н атормоз когда зажигается красный.
Понятен ли мой пойнт или нужно дальнейщее разжовывание?

Re: К чему это?
Добавлено: 02 фев 2010, 12:30
Marmot
aissp писал(а):гхм, если позволишь я отметил немножко (а точнее совсем) другое. Общеищвестно правило, на красный надо стоять на зеленый ехать. Ето правило естсевенно нарушать когда действительно надо ехать. И любой водитель делает ето на автомате. Так вот от абстрактного примера к тому что я написал, поскольку постфиксная форма реализуется через префиксную, программист (нормальный а не тот кто на яве) пишет префиксную форму, вместо постфиксной, также как водитель на автомате давит н атормоз когда зажигается красный.
Понятен ли мой пойнт или нужно дальнейщее разжовывание?

Ага, все пойнтЫ понятны, и были понятны сразу, тока я спросил совсем про другое

А ты мне так и не ответил, и зачем-то решил повторить то, что ты уже сказал

и я не могу понять зачем
