Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.045 c
15-1185148040
Kostafey
2007-07-23 03:47
2007.08.19
Произвести автозамену стилей шрифтов в Word


15-1185173044
Забыл пароль
2007-07-23 10:44
2007.08.19
Статья на рбк. Сможет кто-нить объяснить?


1-1181213151
DmitrichJ
2007-06-07 14:45
2007.08.19
Indy и кодировка


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


2-1185351496
CODeRUS
2007-07-25 12:18
2007.08.19
Перехват нажатий на клавиатуру





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский