Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Вниз

По каким моментам кода вы понимаете - профи или так... ?   Найти похожие ветки 

 
Sha ©   (2004-12-22 13:23) [200]

break :)


 
Суслик ©   (2004-12-22 14:21) [201]


>  [200] Sha ©   (22.12.04 13:23)

:))


>  [199] Anatoly Podgoretsky ©   (22.12.04 13:08)



> Поэтому мое мнение явное приведение к типу, без проверки
> это типа в варианте есть ошибка


Анатолий. Ну послушай внимательно.
Я не привожу без проверки!
Я привожу заведо равное varBoolean значение типа variant. Считай, что это проверено (так и есть, на самом деле). И до места boolean(v) дело просто не доейдет, если vartype(v) <> varBoolean.

Если я и забыл упомянуть об этих обстоятельствах, то:
1) Это моя вина, согласен
2) Я неоднократно поправился.

Мои посты не имеют задачей переспорить и затоптать кого-то. Нет!

Я хочу понять есть ли ошибка (грубая) в следущем коде, выраженная в том, что boolean(v) <> true:

var
  v: variant;
begin
  v := true;
  if boolean(v) then ...
end;


ЗЫ.
Приведенный код корректно работает и для Д5 при любом значении tvardate(v).vboolean > 0. Т.е. также как в Д6.


 
Anatoly Podgoretsky ©   (2004-12-22 16:09) [202]

Ты думаешь речь идет про этот код?
Вопрос шире, об правомерности явного приведения к варианту.

А этот код ты мог бы упростить

begin
 if true then ...
end;


Но ты волен делать в своем коде, что угодно, а я лично буду избегать таких сомнительных конструкций.

И какой смысл крутить по новому кругу?


 
Суслик ©   (2004-12-22 16:14) [203]


>  [202] Anatoly Podgoretsky ©   (22.12.04 16:09)


> Ты думаешь речь идет про этот код?


Именно про него я и говорил :)

Предлагаю резюме: текущая реализация явного приведения wordbool к boolean (или variant к boolean, где vartype у variant = varBoolean) работает корректно.


 
Anatoly Podgoretsky ©   (2004-12-22 16:28) [204]

Ну говорил ты в разных вариантах, и только в 201 сказал, что обеспечишь vartype равным varBoolean, а если робеспечишь то и приведение лишнее, а вот то что у тебя когда давно не работало, то можно дать зуб на отсечение (не мой конечно), что проблема была именно с vartype. Кроме того за время существования вариантов они много изменили в компиляторе, видимо поэтому это уже не приведение, преобрахование, через compiler magic.

Мой же спич не об этом, а об опасности, особенно при работе с вариантами, по славнению с переменными bool.


 
Суслик ©   (2004-12-22 16:41) [205]


>  [204] Anatoly Podgoretsky ©   (22.12.04 16:28)
> Ну говорил ты в разных вариантах, и только в 201 сказал,
> что обеспечишь vartype равным varBoolean

Неправда. Я еще утром это говорил и извинился за введение в общественность в непонятки, т.к. и раньше это имел в виду.

Ранее ошибка была в следующей ситуации:
1. Var type = varBoolean (проверял)
2. При v := true несрабатывало if v then, тогда как срабатывало if boolean(v) then.

Зуб даю (тоже не свой), что анализ cpu говорил, что целевой тип при преобразовании ИЗ variant (в данном случае должен быть boolean) выбырался неверно. Я тогда еще не бывал на этом форуме и слабо представлял, как выяснять есть ли ошибка в списке признанных багов и куда вообще о багах сообщать. Поэтому поддтвердить документально детали ошибки не могу.

Предлагаю забить на тему.
Говорю же - зацепился за "грубую ошибку". Сам понимаешь, не всегда приятно слышать о чем-то, в чем ты уверен, потому как либо ты ошибаешься, либо тебя незаслуженно оклеветали :)))  (первое страшнее).


 
Piter ©   (2004-12-22 19:48) [206]

Sandman25 ©   (22.12.04 9:17) [181]
они добираются до момента, когда всюду стремятся использовать Tag в качестве выбора


а ты на основе своего личного опыта гооришь? :)
Если честно - я не встречал людей, которые делали как ты говоришь.

И сам так никогда не делал, ибо далеко не сразу узнал, что такое Tag, зачем он и что туда можно писать что хочешь...


 
Сергей Суровцев ©   (2004-12-23 08:42) [207]

Если код написан красиво, правильно сформатирован и откоментирован и, главное, при этом работает на 50% медленнее чем мог бы - это профессионал.


 
Gero ©   (2004-12-23 09:15) [208]


> Сергей Суровцев ©   (23.12.04 08:42)

Если код написан красиво, правильно сформатирован и откоментирован и, главное, при этом работает на 50% быстрее чем мог бы — это гуру.


 
y-soft ©   (2004-12-23 12:25) [209]

>Gero ©   (23.12.04 09:15) [208]

Если код написан красиво, правильно сформатирован и откоментирован и, главное, при этом работает на 50% быстрее чем мог бы — это гуру.

Неправда - если код красиво оформлен и понятен, да еще (о ужас!) прокомментирован, то это точно не гуру, ибо ход мыслей гуру простым смертным недоступен по определению :))


 
Сергей Суровцев ©   (2004-12-23 12:27) [210]

>Gero ©   (23.12.04 09:15) [208]
>и, главное, при этом работает на 50% быстрее чем мог бы — это
>гуру.

Нет. Не быстрее, а именно медленнее. Потому что настоящий профессионал уже сейчас думает о завтрашнем дне.


 
Gero ©   (2004-12-23 12:31) [211]


> Сергей Суровцев ©   (23.12.04 12:27)

Ладно, тогда гуру это тот, чей код работает на 100% медленнее :)


 
Юрий Зотов ©   (2004-12-23 13:36) [212]

Кажется, до меня, наконец, дошло, как ответить на этот вопрос:
> По каким моментам кода вы понимаете - профи или так...?

На него уже давно ответил Чехов: словам должно быть просторно, а мыслям - тесно.


 
ламер ©   (2004-12-23 19:43) [213]

Сергей Суровцев ©   (04.12.23 12:27) [210]

весьма спорное заявление.


 
Fay ©   (2004-12-23 22:00) [214]

2 Сергей Суровцев ©   (23.12.04 12:27) [210]
У меня институт просто набит такими "гурами".


 
Гарри Поттер ©   (2004-12-23 22:28) [215]

Кудесник ©   (21.12.04 10:30)
По каким моментам кода вы понимаете - профи или так... ?


"Профи" - подразумевает что человек этим занимается профессонально, ведь так? Тогда никак неопределишь, уровень мастерства у некоторых кодеров работающих за деньги часто гораздо ниже чем у любителей пишущих фриваре.


 
Marser ©   (2004-12-23 23:34) [216]


> Gero ©   (23.12.04 12:31) [211]

Не в обиду кое-кому буде сказано, но СС гуру всё-таки в "Потрепаться"...


 
Palladin ©   (2004-12-24 03:55) [217]

Еше разок.
Пррррофи, если уж на то пошло, OP или Delphi - есть максимальная лаконичность кода. Кто как из "страрших" эту лаконичность воспримет так и будет воспринято ОНО. Ну и собственно ОН или ОНА.

И еще разок: Хороший код - это лакончный код, сколько бы он не стоил с точки зрения оптимизации до нельзя.


 
Resmar   (2004-12-24 06:00) [218]

> Marser ©   (23.12.04 23:34) [216]

Сказало отражение.


 
Сергей Суровцев ©   (2004-12-24 07:20) [219]

>Fay ©   (23.12.04 22:00) [214]
>2 Сергей Суровцев ©   (23.12.04 12:27) [210]
>У меня институт просто набит такими "гурами".

Ничегошеньки ты не понял. Это для того, чтобы каждые полгода повышать быстродействие на 10%. 1.1, 1.2, 2.0 и т.д. Об этом думает только профессионал. :)


 
Piter ©   (2004-12-24 20:49) [220]

Сергей Суровцев ©   (23.12.04 12:27) [210]
Потому что настоящий профессионал уже сейчас думает о завтрашнем дне


Ну если профессионализм только в переписывании своего кода - тогда увольте. Имхо, для настоящего профессионала всегда работа найдется.


 
DiamondShark ©   (2004-12-24 20:59) [221]


> Имхо, для настоящего профессионала всегда работа найдется.

Именно! Повышать быстродействие на 10% в год.
:)


 
Piter ©   (2004-12-24 21:39) [222]

Сергей Суровцев ©   (24.12.04 7:20) [219]
Это для того, чтобы каждые полгода повышать быстродействие на 10%. 1.1, 1.2, 2.0 и т.д. Об этом думает только профессионал. :)


Об этом думает только человек, который боится за свою судьбу. Явно не профессионал.

Ясно, что всегда можно оптимизировать программу. Но чтобы специально писать медленнее...


 
Anatoly Podgoretsky ©   (2004-12-25 02:33) [223]

Он просто мудрый


 
Fay ©   (2004-12-25 03:59) [224]

Anatoly Podgoretsky ©   (25.12.04 2:33) [223]
"мудрый"
Какой замечательный эвфемизм 8)


 
Marser ©   (2004-12-26 14:23) [225]


> Resmar   (24.12.04 06:00) [218]
> > Marser ©   (23.12.04 23:34) [216]
>
> Сказало отражение.

А я и в "Потрепаться" просто вольный художник :-)
Когда-то в "Общих вопросах" сидел. Не исключено, что скоро вернусь в тематические.

По сабжу.
Понятие "профи" довольно расплывчатое. Но человека, написавшего не одну тысячу(десяток, сотню тысяч) строк кода, от новичка, ИМХО, обычно отличают:
Структурированность кода - повторяющиеся действия выносятся в отдельные подпрограммы или методы.
Оптимизированность - минимум лишнего. Операция, которую можно выполнить один раз, не заносится в цикл. При многократном обращении к полям экземпляра класса используется with.
Устойчивость кода, особенно в узких местах, с использованием(корректным!) try..except и try..finally.
... Et cetera
Ну и конечно, не следует забывать, что любую идею можно довести до абсурда.


> Сергей Суровцев ©   (24.12.04 07:20) [219]
> Ничегошеньки ты не понял. Это для того, чтобы каждые полгода
> повышать быстродействие на 10%. 1.1, 1.2, 2.0 и т.д. Об
> этом думает только профессионал. :)

Я-то понял, что вы имеете в виду. Только я таких "профессионалов" не очень воспринимаю. Думать о своём завтрашнем дне, пренебрегая интересами своей конторы это как-то...


 
Anatoly Podgoretsky ©   (2004-12-26 14:50) [226]

Когда-то в "Общих вопросах" сидел. Не исключено, что скоро вернусь в тематические.

Ты больше не пугай так


 
Marser ©   (2004-12-26 14:56) [227]


> Anatoly Podgoretsky ©   (26.12.04 14:50) [226]

:-)
Сами ведь приглашали...


 
Piter ©   (2004-12-26 15:25) [228]

Marser ©   (26.12.04 14:23) [225]
При многократном обращении к полям экземпляра класса используется with.


Ну тут палка о двух концах... Плюсы очевидны, а вот отлаживать труднее. По крайней мере D7 не особо интеллектуальна в этом плане и если переменная находится внутри with, то при дебаге, при наведении на нее ничего не пишется (не обрабатывается ситуация, что переменная внутри with). Чтобы узнать значение этой переменной приходится вызывать watch list и прописывать ее "полный" путь. Неудобно.

Ну и не работает CTRL+click если переменная внутри with. В общем, тут не совсем продумано борландом...


 
Anatoly Podgoretsky ©   (2004-12-26 15:27) [229]

Marser ©   (26.12.04 14:56) [227]
Когда это было, столько воды утекло. :-)


 
Piter ©   (2004-12-26 15:44) [230]

А в чем проблема? Пусть Marser отвечает в тематических конференциях - я только за, человек он умный. Или типа у Анатолий на него зуб? Ну дык это фигня, у всех на кого-то есть зуб :)


 
boriskb ©   (2004-12-26 15:50) [231]

Piter ©   (26.12.04 15:44) [230]
человек он умный


От многих уже слышу.
Мне кажется вы путаете "умный" и "начитанный"
Умных фанатиков не бывает.


 
Piter ©   (2004-12-26 18:44) [232]

boriskb ©   (26.12.04 15:50) [231]
Умных фанатиков не бывает


Впервые слышу. Все самые умные люди - фанатики. Или лучше сказать фанаты. Или еще можно сказать одержимые свои делом.

И то, что Marser умен, следует из моих личных наблюдений. А то, что вы не согласны с человеком по религиозным причинам - это совсем другое. Человек может даже быть вам крайне неприятен и антисоциален. Но тем не менее он может быть умным.

Вот Билл Гейтс - однозначно очень умный человек. Хотя многие ему завидуют и кем только не называют.


 
boriskb ©   (2004-12-26 19:00) [233]

Piter ©   (26.12.04 18:44) [232]
Все самые умные люди - фанатики


Ради бога - ты имеешь полное право так думать. Хотя... если б подумал - не написал бы этого.
Фанатики и фанаты "две большие разницы" :)

что вы не согласны с человеком по религиозным причинам
а это вообще в стиле этого форума:) Самому выдумать - самому и опровергать.

PS А вообще - ты хороший парень - я давно хотел тебе это сказать :) :)


 
Gero ©   (2004-12-26 19:07) [234]


> Умных фанатиков не бывает.

Умные бывают.
Мудрые — нет.
Имхо.


 
Piter ©   (2004-12-26 20:19) [235]

boriskb ©   (26.12.04 19:00) [233]
Ради бога - ты имеешь полное право так думать


ну ты соответственно имеешь право думать наоборот

Хотя... если б подумал - не написал бы этого

характерный прием демагогии

Самому выдумать - самому и опровергать

а что я выдумал и опроверг?

Gero ©   (26.12.04 19:07) [234]
Умные бывают.
Мудрые — нет


а чем отличается умный от мудрого?


 
Igorek ©   (2004-12-26 21:23) [236]

Вот еще придумал:
- если б ты подумал, то не написал бы такого
- ты тоже

:-)


 
Игорь Шевченко ©   (2004-12-26 21:37) [237]

Piter ©   (26.12.04 15:25) [228]


> По крайней мере D7 не особо интеллектуальна в этом плане
> и если переменная находится внутри with, то при дебаге,
> при наведении на нее ничего не пишется (не обрабатывается
> ситуация, что переменная внутри with). Чтобы узнать значение
> этой переменной приходится вызывать watch list и прописывать
> ее "полный" путь. Неудобно.


Смею тебя заверить, что отлаживать код с with приходится редко. Отгадай с трех раз, почему ?

С уважением,


 
Anatoly Podgoretsky ©   (2004-12-26 21:56) [238]

Наверно без ошибок пишешь, или, что даже страшно подумать, ты не используешь with :-)


 
Gero ©   (2004-12-26 22:28) [239]


> а чем отличается умный от мудрого?

Наличием жизненного опыта, наверное. Но не только этим.
Сложный вопрос, я не настолько умен, чтобы дать ответ на него.


 
Игорь Шевченко ©   (2004-12-26 22:30) [240]

Anatoly Podgoretsky ©   (26.12.04 21:56) [238]

with использую, хотя не могу сказать, что часто, да и ошибки бывают, куда же без них. Но почему-то эти два события практически не совпадают :)
Мне проще вынести тот код, что находится внутри with, в отдельный метод того объекта, который упоминается в with, если овчинка стоит той выделки.

С уважением,



Страницы: 1 2 3 4 5 6 7 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 1.07 MB
Время: 0.058 c
10-1080216496
Comwad
2004-03-25 15:08
2005.01.16
Два SmartAgent-a в одной подсети.


14-1103778461
AZ
2004-12-23 08:07
2005.01.16
Руководитель предприятия


3-1102739027
cruse
2004-12-11 07:23
2005.01.16
ГДЕ ошибка при компиляции скрипта


1-1104829082
Goblin
2005-01-04 11:58
2005.01.16
Print w delphi7


1-1104254893
Алексей
2004-12-28 20:28
2005.01.16
Загрузка библиотеки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский