Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

Компилятор Дельфи   Найти похожие ветки 

 
Германн ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.025 c
4-1172903020
Зм1й
2007-03-03 09:23
2007.08.19
Приём сообщений


2-1182812377
Сергей Макс.
2007-06-26 02:59
2007.08.19
SetFileSecurity


2-1185294697
Мануха
2007-07-24 20:31
2007.08.19
stringgrid


15-1184588170
Ricks
2007-07-16 16:16
2007.08.19
Творческие идеи


2-1185531876
Егоров А.Н.
2007-07-27 14:24
2007.08.19
Проверка существования формы перед ее открытием