Форум: "Прочее";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
ВнизКомпилятор Дельфи Найти похожие ветки
← →
Германн © (2007-07-18 02:12) [0]Всегда знал, что компилятор в Дельфи умный. Но вот сегодня ещё раз поразился его уму. Всегда привык присваивать в первой строчке тела функции значение неявной переменной Result. И очень удивился обилию "хинтов" - Value assigned to "..." never used.
А подумав понял, что в этих случаях "дую на воду" :)
← →
Riply © (2007-07-18 02:54) [1]> [0] Германн © (18.07.07 02:12)
Инициализировать Result надо всгда :)
А Hint, который ты увидел, означает только то, что дальше в коде
Reult`у в любом случае, будет присвоено значение :)
← →
Германн © (2007-07-18 03:07) [2]
> Riply © (18.07.07 02:54) [1]
>
> > [0] Германн © (18.07.07 02:12)
> Инициализировать Result надо всгда :)
> А Hint, который ты увидел, означает только то, что дальше
> в коде
> Reult`у в любом случае, будет присвоено значение :)
>
Эээ. Очепятки я принимаю только от Гэндальфа! :)
Что сей Хинт означает я и сам понял :)
← →
_Mike_ (2007-07-18 03:14) [3]
> Всегда знал, что компилятор в Дельфи умный.
Тупой он. Особенно оптимизатор. Да еще если локальные процедуры да и указатели в них. Причем данный глюк имеет место быть во всех версих от 5 до 2006.
← →
Riply © (2007-07-18 03:16) [4]Sorry за очепятки. (всегда тороплюсь :)
Хотя от римлян( если не ошибаюсь ) до нас дошел совет: "Поспешай медленно" :)
← →
Германн © (2007-07-18 03:42) [5]> _Mike_ (18.07.07 03:14) [3]
>
>
> > Всегда знал, что компилятор в Дельфи умный.
>
> Тупой он. Особенно оптимизатор. Да еще если локальные процедуры
> да и указатели в них. Причем данный глюк имеет место быть
> во всех версих от 5 до 2006.
>
Без обоснований - игнор!
← →
Германн © (2007-07-18 03:46) [6]
> Riply © (18.07.07 03:16) [4]
>
> Sorry за очепятки. (всегда тороплюсь :)
> Хотя от римлян( если не ошибаюсь ) до нас дошел совет: "Поспешай
> медленно" :)
>
Согласен, но не принял. :)
Одна только мысль о "совмещении метода ненаучного тыка с очепятками" меня бросает в дрожь!
:)
← →
TUser © (2007-07-18 08:24) [7]function a: string;
begin
result := "a";
result := "b";
end;
Никакого хинта, d7. Раньше тоже таких хинтов не видел, хотя я и не инициализирую result просто так, а только, когда это нужно.
← →
Asail (2007-07-18 08:54) [8]
> TUser © (18.07.07 08:24) [7]
Это потому, что :string. Поставь Integer, и получишь хинт. Странно...
← →
sniknik © (2007-07-18 09:12) [9]> Странно...
стринг это класс (маджик, но все таки) а просто обращаясь одному проперти класса у тебя может куча действий выполняться по onGet.../onSet...
← →
Суслик © (2007-07-18 09:12) [10]2[7]
В данном случае это баг компилятора - был обязан выдать hint.
Повторяется в Д2007.
← →
TUser © (2007-07-18 09:46) [11]Еще про Result. Очень плохо, что не выдает варнингга на код типа
function a (b: c): d;
var i: e;
begin
i := result + b; // Variable Result might not been initialized.
result := i + 20;
end;
Потому что в этом случае результат вообще будет разный, даже если функцию вызывать с одинаковыми параметрами. Вот это действительно подстава.
← →
Игорь Шевченко © (2007-07-18 09:54) [12]
> Всегда привык присваивать в первой строчке тела функции
> значение неявной переменной Result. И очень удивился обилию
> "хинтов" - Value assigned to "..." never used.
Слушайся компилятора - он мудр :)
А от обилия хинтов крайне желательно избавляться.
← →
db2admin © (2007-07-18 10:00) [13]Игорь Шевченко © (18.07.07 09:54) [12]
в чем причина данного конкретного хинта?
← →
Игорь Шевченко © (2007-07-18 10:19) [14]db2admin © (18.07.07 10:00) [13]
В лишнем присваивании ? Я угадал ?
← →
db2admin © (2007-07-18 10:23) [15]Игорь Шевченко © (18.07.07 10:19) [14]
Привык инициализировать все переменные и результаты функции, я в чем то не прав?
← →
Dib@zol © (2007-07-18 10:26) [16]{$Warnings off}
{$Hints off}
- И компилятор срочно поумнел :)
← →
TUser © (2007-07-18 10:27) [17]> Привык инициализировать все переменные и результаты функции
Ты перед тем, как сказатьi := 5
, ее инициализируешь методомi := 0
?
← →
Игорь Шевченко © (2007-07-18 10:28) [18]db2admin © (18.07.07 10:23) [15]
> Привык инициализировать все переменные и результаты функции,
> я в чем то не прав?
Если ты пишешь для себя, то ты прав во всем и проблема лишней инициализации - это только развитие мускулатуры твоих пальцев.
Если с твоим кодом будет работать кто-то еще, то существует 2 хороших правила
- чем меньше лишнего кода, тем проще работать.
- при компилиции не должно быть ни хинтов ни предупреждений.
← →
Ega23 © (2007-07-18 10:32) [19]
> - И компилятор срочно поумнел :)
Изыди!!!
← →
_Mike_ (2007-07-18 10:55) [20]
> Без обоснований - игнор!
Я не буду сюда вываливать более сотни строк кога из коммерческого продукта. Где-то здесь же или на RSDN это уже проходили. Я там челу кидал код где оно глючит - поспрашай.
← →
Игорь Шевченко © (2007-07-18 11:04) [21]
> Я не буду сюда вываливать более сотни строк кога из коммерческого
> продукта
А зачем вываливать сотни строк - дай ссылку на report в qc.borland.com и всем станет понятно.
← →
Плохиш © (2007-07-18 11:39) [22]
> _Mike_ (18.07.07 03:14) [3]
>
> > Всегда знал, что компилятор в Дельфи умный.
>
> Тупой он.
Да уж поумней всяких горе-кодеров будет.
← →
_Mike_ (2007-07-18 12:00) [23]
> report в qc.borland.com
> Да уж поумней всяких горе-кодеров будет.
Да я в курсе что на DelphiMaster только гении обитают. А мы так - погулять вышли.
← →
_Mike_ (2007-07-18 12:05) [24]
> дай ссылку на report в qc.borland.com и всем станет понятно.
А можно ссылки на Ваши репорты? Как часто Вы отсылаете отчеты в МС? Или у вас настолько прибыльный бизнес (хорошая зарплата) что готовы тратить время на это? Прежде чем туда писать по любому придется тратить время искать где и почему - ну а раз нашел и поправил - так нафига мне еще время тратить? Оно (мое время) денег стоит. И если уж я заплатил за Delphi больше на нее я деньги (читай время) тратить не хочу.
← →
oxffff © (2007-07-18 12:07) [25]
> Я не буду сюда вываливать более сотни строк кога из коммерческого
> продукта. Где-то здесь же или на RSDN это уже проходили.
> Я там челу кидал код где оно глючит - поспрашай.
Твой коммерческий проект из более сотни строк кода?
← →
_Mike_ (2007-07-18 12:08) [26]
> Твой коммерческий проект из более сотни строк кода?
Мой коммерческий проект из очень большого числа строк. Но это не повод вываливать во всеобщее обозрение хотя бы даже и одну.
← →
Думкин © (2007-07-18 12:09) [27]> _Mike_ (18.07.07 12:05) [24]
Это не серьезно. При таких раскладах могут сказать, что тупой не компиллятор, а кто-то другой и по такому же описалову будут также правы.
← →
_Mike_ (2007-07-18 12:10) [28]
> Думкин © (18.07.07 12:09) [27]
Давай мыло - кину тот кусок.
P.S. Почему вы всегда стремитесь уличить человека во лжи????
← →
db2admin © (2007-07-18 12:10) [29]Удалено модератором
Примечание: Флудить завязываем
← →
Думкин © (2007-07-18 12:13) [30]> _Mike_ (18.07.07 12:10) [28]
Я не стремлюсь. Но ты высказал мнение, довольно агрессивное и при этом не приводишь никаких доказателльств. У людей появляется законное право не поверить и они им пользуются. Что не так? И где еще я вас уличал во лжи? В том, что не все в России как где-то? Так в чем я не прав? Единичное разрушает всеобщее. Вот и все.
Мыло у меня в анкете. И у других тоже.
← →
Asail (2007-07-18 12:14) [31]
> sniknik © (18.07.07 09:12) [9]
> > Странно...
> стринг это класс (маджик, но все таки) а просто обращаясь
> одному проперти класса у тебя может куча действий выполняться
> по onGet.../onSet...
А где здесь обращение к пропертям?
Result := "a";
Кстати, такой код выдает хинт:
function x: TForm;
begin
Result := Form1;
Result := Form2;
end;
← →
Игорь Шевченко © (2007-07-18 12:20) [32]_Mike_ (18.07.07 12:05) [24]
> А можно ссылки на Ваши репорты?
Да, конечно можно. Поиск по Igor Schevchenko
Кому лень искать, даю номера:
42690,42677,41781,15143,9776
← →
oxffff © (2007-07-18 12:21) [33]
> _Mike_ (18.07.07 12:08) [26]
>
> > Твой коммерческий проект из более сотни строк кода?
>
> Мой коммерческий проект из очень большого числа строк. Но
> это не повод вываливать во всеобщее обозрение хотя бы даже
> и одну.
Странно тогда.
Почему ты пишешь на Delphi, да еще и втихую?.
← →
Игорь Шевченко © (2007-07-18 12:22) [34]_Mike_ (18.07.07 12:05) [24]
> Оно (мое время) денег стоит.
В том числе и за общение на форумах ? Я тоже такой бизнес хочу...
← →
_Mike_ (2007-07-18 12:24) [35]
> Я не стремлюсь.
Я не Вас конкретно имел ввиду. Я когда обращаюсь конктретно к человеку пишу либо "ты" либы "Вы" - как и положено в русском языке. Если я пишу "вы" с маленькой буквы - это множественное число.
p.S. отправил
← →
_Mike_ (2007-07-18 12:25) [36]
> Почему ты пишешь на Delphi, да еще и втихую?.
Что значит в тихую? Почему? Не только на Delphi.
> В том числе и за общение на форумах ? Я тоже такой бизнес
> хочу...
Так кто Вам мешает?
← →
Eraser © (2007-07-18 12:27) [37]
> _Mike_ (18.07.07 12:24) [35]
> "ты" либы "Вы" - как и положено в русском языке
сам придумал? ) обращение на "Вы" пренебрежительно.
← →
_Mike_ (2007-07-18 12:29) [38]
> обращение на "Вы" пренебрежительно
Да? Раньше было наоборот - уважительное обращение к незнакомому человеку. Я что-то пропустил?
← →
Игорь Шевченко © (2007-07-18 12:30) [39]_Mike_ (18.07.07 12:25) [36]
> Так кто Вам мешает?
Возраст наверное.
← →
_Mike_ (2007-07-18 12:35) [40]
> Возраст наверное.
Хм. Я не скажу что вы на много старше меня. Так что, все-таки, наверное, желание :)
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.047 c