Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5   вперед  Ctrl      все
 Re: Стандартные константы Delphi  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13001
к сожалению, там нет фильтра, а данных просматривать очень много и всё идёт вперемешку
8 янв 19, 14:30    [21779878]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1392
Какой в этом смысл?
Каждая константа привязана к конкретной сущности.
Когда касаетесь какую-то сущность тогда и используются константы.. При чем на 90% они будут описаны в хелпе.
Для своих сущностей пишутся свои константы
8 янв 19, 14:34    [21779883]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Василий 2
Member

Откуда:
Сообщений: 570
В самом деле. Искать константы просто для того, чтобы их где-нибудь применить? Ерунда какая-то.
Пиши код, выделяй свои константы, а потом прикидывай, могут они быть в Дельфях или нет.
9 янв 19, 11:42    [21780385]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Vlad F
Member

Откуда:
Сообщений: 810
X11,

Вот еще очень полезная - EmptyStr и иже с ней.))
9 янв 19, 12:04    [21780412]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13001
для этого есть хелперы, например
if s.IsEmpty then
9 янв 19, 12:13    [21780433]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Vlad F
Member

Откуда:
Сообщений: 810
X11,

На тебя прям не угодишь.)) К тому же хелперы есть не у всех строковых типов.
9 янв 19, 12:33    [21780459]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Квейд
Member

Откуда: Kyiv, Ukraine
Сообщений: 5215
Vlad F
X11,

Вот еще очень полезная - EmptyStr и иже с ней.))
Чем полезна EmptyStr?
9 янв 19, 12:44    [21780469]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13001
Да, у TCaption нету :(
9 янв 19, 12:45    [21780470]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Квейд
Member

Откуда: Kyiv, Ukraine
Сообщений: 5215
X11
Да, у TCaption нету :(
Так запили свой хелпер для TCaption, с оверлоадом и инлайнами
9 янв 19, 12:55    [21780483]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13001
хочу искаропки :)
9 янв 19, 12:58    [21780487]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Vlad F
Member

Откуда:
Сообщений: 810
Квейд
Чем полезна EmptyStr?

Ну как же, - с ней исходники выглядят куда как боле солидно, а при массовом применении
прямо таки устрашающе. Глядя на все это безобразие благолепие работодатель сразу
проникнется вашей очевидной крутизной и можно будет немедленно ставить вопрос о
всяческом повышении.))
9 янв 19, 13:43    [21780526]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
alekcvp
Member

Откуда:
Сообщений: 1392
X11
Да, у TCaption нету :(


Вот кстати, если тип объявлен как A = type of B; то в чём проблема к нему хелперы от B применять?... Всё равно же по факту тип - один и тот же?..
9 янв 19, 16:54    [21780811]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 627
alekcvp
X11
Да, у TCaption нету :(


Вот кстати, если тип объявлен как A = type of B; то в чём проблема к нему хелперы от B применять?... Всё равно же по факту тип - один и тот же?..


Дебилизм паскаля.
9 янв 19, 16:56    [21780813]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
ma1tus
Member

Откуда:
Сообщений: 668
Vlad F
Квейд
Чем полезна EmptyStr?

Ну как же, - с ней исходники
намного легче читаются "построчно", супротив перпендикулярно направленных апострофов. имхо
9 янв 19, 17:03    [21780832]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
roschinspb
Member

Откуда: С-Пб
Сообщений: 1618
Vlad F
Квейд
Чем полезна EmptyStr?

Ну как же, - с ней исходники выглядят куда как боле солидно, а при массовом применении
прямо таки устрашающе. Глядя на все это безобразие благолепие работодатель сразу
проникнется вашей очевидной крутизной и можно будет немедленно ставить вопрос о
всяческом повышении.))
Ну, кроме улучшения кармы, есть тут и практическая целесообразность. Строка по сути динамическая переменная, пусть даже она нулевой длины (т. е. ''), но какие-то ресурсы и время на её создание тратятся. EmptyStr создается однократно и её использование может немного улучшить производительность. Возможно для Windows компилятор сам оптимизирует работу с '', или на потери можно тупо забить, но вот для мобильных платформ это уже становится более актуально.
9 янв 19, 17:45    [21780905]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Василий 2
Member

Откуда:
Сообщений: 570
roschinspb
Ну, кроме улучшения кармы, есть тут и практическая целесообразность. Строка по сути динамическая переменная, пусть даже она нулевой длины (т. е. ''), но какие-то ресурсы и время на её создание тратятся. EmptyStr создается однократно и её использование может немного улучшить производительность. Возможно для Windows компилятор сам оптимизирует работу с '', или на потери можно тупо забить, но вот для мобильных платформ это уже становится более актуально.

Пруфы? Компилятор, который не оптимизирует операции с пустой строкой, должен быть стерт из реальности вместе с создателем, ибо оба идиоты.
9 янв 19, 18:03    [21780930]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
roschinspb
Member

Откуда: С-Пб
Сообщений: 1618
Василий 2
roschinspb
Ну, кроме улучшения кармы, есть тут и практическая целесообразность. Строка по сути динамическая переменная, пусть даже она нулевой длины (т. е. ''), но какие-то ресурсы и время на её создание тратятся. EmptyStr создается однократно и её использование может немного улучшить производительность. Возможно для Windows компилятор сам оптимизирует работу с '', или на потери можно тупо забить, но вот для мобильных платформ это уже становится более актуально.

Пруфы? Компилятор, который не оптимизирует операции с пустой строкой, должен быть стерт из реальности вместе с создателем, ибо оба идиоты.
Можешь смело самозабаниться на этой ветке. К сожалению я не могу опубликовать внутреннюю переписку, но смысл в общих чертах близок к тому, что лучше всегда явно указывать const в параметрах метода, если внутри он не меняется и к тому, что лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов.
Если взять себе за правило, то будет некоторое улучшение производительности. Во всяком случае в коде Fire Monkey это было строгое требование. Хотя не могу исключить и того, что единственным побудительным мотивом было ЧСВ насяльника Allen`а Bauer`а
9 янв 19, 18:31    [21780953]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1392
roschinspb
что лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов.

asm код же идентичен, или это чисто стандарт оформления кода?
9 янв 19, 19:28    [21780994]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Василий 2
Member

Откуда:
Сообщений: 570
roschinspb
К сожалению я не могу опубликовать внутреннюю переписку, но смысл в общих чертах близок к тому, что лучше всегда явно указывать const в параметрах метода, если внутри он не меняется и к тому, что лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов.
Если взять себе за правило, то будет некоторое улучшение производительности. Во всяком случае в коде Fire Monkey это было строгое требование. Хотя не могу исключить и того, что единственным побудительным мотивом было ЧСВ насяльника Allen`а Bauer`а


Капитан Очевидность рекомендации писал?
"лучше всегда явно указывать const в параметрах метода, если внутри он не меняется"
Для управляемых типов и записей - без комментариев, для простых - ну, чуть больше визуального порядка, хоть и вкусовщина.

"лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов"
Assigned и так редко кто ставит без нужды

И я так и не увидел контраргументов, в какой там Вселенной if s <> '' выполняется через создание новой строки длиной 0 и CompareStr s с нею. Так что самозабан пока что присуждается как раз тебе
9 янв 19, 19:45    [21781004]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
roschinspb
Member

Откуда: С-Пб
Сообщений: 1618
X-Cite
roschinspb
что лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов.

asm код же идентичен, или это чисто стандарт оформления кода?
Ну, тут возможны все варианты.
Может не на всех платформах идентичен или по крайней мере в первых версиях мобильных компиляторов так было, может и чисто личные предпочтения архитектора, но прикол в том, что сначала начали всё переделывать на Assign, а потом концепция изменилась.
9 янв 19, 19:47    [21781007]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
roschinspb
Member

Откуда: С-Пб
Сообщений: 1618
Василий 2
...я так и не увидел контраргументов, в какой там Вселенной if s <> ''...
Да не собираюсь я тут с тобой холивары, разводить пиши хоть идентификаторы на глаголице. Приведенные примеры из внутренних требований к оформлению кода.
9 янв 19, 19:59    [21781011]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Vlad F
Member

Откуда:
Сообщений: 810
roschinspb
Ну, кроме улучшения кармы, есть тут и практическая целесообразность. Строка по сути динамическая переменная, пусть даже она нулевой длины (т. е. ''), но какие-то ресурсы и время на её создание тратятся. EmptyStr создается однократно и её использование может немного улучшить производительность. Возможно для Windows компилятор сам оптимизирует работу с '', или на потери можно тупо забить, но вот для мобильных платформ это уже становится более актуально.

Так понимаю, что в цитируемом имелась ввиду экономия на спичках в т.н. сегменте данных (или кода, смотря куда пустые строкм помещает используемый нами компилятор). Но, глядя на дальнейшее развитие дискуссии, я в ужасе, - парни, да я просто пошутил.
9 янв 19, 22:18    [21781072]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3515
http://docwiki.embarcadero.com/Libraries/Rio/en/System.SysUtils.EmptyStr
System.SysUtils.EmptyStr

Up to Parent: System.SysUtils

Delphi

EmptyStr: string = '';

C++

extern DELPHI_PACKAGE System::UnicodeString EmptyStr;

Properties
Type Visibility Source Unit Parent
variable public
System.SysUtils.pas
System.SysUtils.hpp
System.SysUtils System.SysUtils
Description

An empty string constant.

Included for backward compatibility only.
9 янв 19, 22:36    [21781082]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3515
Да прикол-то ещё в том, что это совсем даже не константа.
9 янв 19, 22:40    [21781086]     Ответить | Цитировать Сообщить модератору
 Re: Стандартные константы Delphi  [new]
Vlad F
Member

Откуда:
Сообщений: 810
Kazantsev Alexey,

И, и?
9 янв 19, 22:42    [21781087]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5   вперед  Ctrl      все
Все форумы / Delphi Ответить