Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Turbo Delphi Win32 pro - некачественный продукт! И всё-таки она вертится, пардон - глючит 
:(
    Опции темы
Snowy
Дата 10.4.2007, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Alexeis, почитай доку или описание по DUnit.
Я смотрел, трогал... Мне это не нужно.
Я могу спокойно 2 недели строчить код, потом за 5 минут поправить все очипятки и всё работает.
Проверять работоспособность модулей и классов для меня дико - там же в коде всё написано smile
PM MAIL   Вверх
Ch0bits
Дата 10.4.2007, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: нет
Всего: 62



Вот ещё статейка - http://www.exprogramming.ru/Articles/LoveUT.html

Snowy, потому что один разработчик может держать весь проект в голове. А что если пройдёт пара лет и нужно что-то поменять? Хотя если в комментариях ВСЁ написано...  smile 

Это сообщение отредактировал(а) Ch0bits - 10.4.2007, 21:39
PM WWW   Вверх
Snowy
Дата 10.4.2007, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Ch0bits @  10.4.2007,  21:37 Найти цитируемый пост)
А что если пройдёт пара лет и нужно что-то поменять? Хотя если в комментариях ВСЁ написано... 
Угу. Уже за правило выработалось расписывать комменты для автодокументатора.
Даже на форуме порой решения даю с комментами формата автодокументатора smile

Добавлено через 4 минуты и 40 секунд
ЗЫ. Когда проходит пара лет, смотришь на свой код и думаешь: "Ну и хрень... Неужели это я написал?!" smile
PM MAIL   Вверх
Злоумышленник
Дата 11.4.2007, 05:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.9.2006

Репутация: -1
Всего: -3



Snowy
Цитата(Snowy @  10.4.2007,  22:12 Найти цитируемый пост)
ЗЫ. Когда проходит пара лет, смотришь на свой код и думаешь: "Ну и хрень... Неужели это я написал?!"

Хм... а у меня наоборот, смотрю через пару лет и удивляюсь, как же аккуратно и грамотно когда-то сделал smile 
PM   Вверх
Beltar
Дата 11.4.2007, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 3
Всего: 7



2 Yanis

Цитата

Прекрасно.


Боюсь, что нет. Перегрузка операторов для классов только под .NET.

Alexeis

Цитата

Особенно впечатлила функция одновременного изменения идентификаторов в блоке


Когда мне приспичило поменять имя мегаглобального для программы типа, я от рефакторинга чуть не кончил. 30 секунд на операцию. smile

2 Ch0bits

Цитата

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


Такие значит классы. Друг от друга зависимые.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Rennigth
Дата 11.4.2007, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



 smile холи варе попахивает...  smile 


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Alexeis
Дата 11.4.2007, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Beltar @  11.4.2007,  10:08 Найти цитируемый пост)
Боюсь, что нет. Перегрузка операторов для классов только под .NET.

  Речь уже идет о Delphi2007 for win32, как я понял в ней ввели и для обычных классов. 

Цитата(Beltar @  11.4.2007,  10:08 Найти цитируемый пост)
Когда мне приспичило поменять имя мегаглобального для программы типа, я от рефакторинга чуть не кончил. 30 секунд на операцию.

  Так и нужно было чудес ждать, текстовые операции всегда длительные, а если бы переменную использовал, в нескольких модулях, тогда что? Нужно соизмерять возможности операций. В рамках функции средних размеров, все должно отлично работать. Кстати использование всяких глобальных переменных и гигантских функций, как раз говорит о плохом стиле кода. Переменные должны рождаться и умирать в блоках. Такие объекты как формы как правило уникальны, а операции изменения имени черезвычайно редки, потому тут вполне можно и поиском обойтись. Если приходиться часто менять переменные в таких блоках, то следует серьезно задуматься о организации приложения. 
  


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Beltar
Дата 11.4.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 3
Всего: 7



Цитата

а если бы переменную использовал, в нескольких модулях, тогда что?


30 секунд это включая мои действия. smile Переименовывал не переменную, а тип. Программа со времен, когда я деревянным мечом сражался и там по тексту много явных преобразований было. Сейчас правда уже вымерли все.

Цитата

Речь уже идет о Delphi2007 for win32, как я понял в ней ввели и для обычных классов. 


Ну дык круто блин. Вон в Chrome, так и шаблоны есть. Чем же Сишники размахивать будут, когда они и в Delphi появятся. smile Вот только интересно мне, а сразу в 2006-ом или 2005-ом не могли до конца реализовать? Интересная политика.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Yanis
Дата 11.4.2007, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Alexeis @  11.4.2007,  11:40 Найти цитируемый пост)
Речь уже идет о Delphi2007 for win32, как я понял в ней ввели и для обычных классов. 

Нека. К сожалению я ошибся.
Для обычных классов нет перегрузки операторов.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 11.4.2007, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Yanis @  11.4.2007,  12:10 Найти цитируемый пост)
Для обычных классов нет перегрузки операторов.

  Зато она есть для Advanced Record в Win32. Это как раз и важно, складывать Ежиков с помидорами мало кому прийдет в голову. А для объектов метода Assign(), хватает с головой, чтобы присвоить по значению. 
Всякие + - шапочки и хвостики удобны для работы с элементами, т.е. простыми объектами, которые вполне теперь могут быть реализованы при помощи Advanced Record. Причем не могут, а должны быть таковыми ведь размер прародителя TObject, думаю многих останавливает, при создании объектов состоящих из 2х 3х integerов. Из-за этого KOL и строилась на старых паскалевских объектах. Для больших и сложных объектов операторы слишком неочевидны, чтобы их использовать. Методы куда понятнее. Но странно, что в обзоре не написано, что только в Win32, от чего напрашивается вывод, что 2007 они будут и в Win32. Нужно уточнить...


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Beltar
Дата 11.4.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 3
Всего: 7



2 Alexeis

Цитата
Причем не могут, а должны быть таковыми ведь размер прародителя TObject, думаю многих останавливает, при создании объектов состоящих из 2х 3х integerов.


Кстати, а в новых язычишках типа Gentee и AFAIR Оберона структура и класс идентичны. Вроде неглупые люди делают, но я так и не уловил идеи, ведь объект, как правило большой и передается по ссылке, редко Assign, а структура вполне может копироваться.  smile 


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
s-mike
Дата 11.4.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 9
Всего: 16



Ну не обучен у нас народ к пользованию лицензионными продуктами.

На сайт CodeGear заходил? Хотфиксы ставил? Должен заметить, что после установки всех хотфиксов среда работает достаточно стабильно.
PM MAIL WWW   Вверх
Yanis
Дата 11.4.2007, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(s-mike @  11.4.2007,  16:50 Найти цитируемый пост)
Ну не обучен у нас народ к пользованию лицензионными продуктами.
На сайт CodeGear заходил? Хотфиксы ставил? Должен заметить, что после установки всех хотфиксов среда работает достаточно стабильно. 

smile
Разговор с эхом smile


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 11.4.2007, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Beltar, все объекты в Delphi наследники TObject;
Т.е. они по размеру не меньше него самого.
Код

 TObject = class
    constructor Create;
    procedure Free;
    class function InitInstance(Instance: Pointer): TObject;
    procedure CleanupInstance;
    function ClassType: TClass;
    class function ClassName: ShortString;
    class function ClassNameIs(const Name: string): Boolean;
    class function ClassParent: TClass;
    class function ClassInfo: Pointer;
    class function InstanceSize: Longint;
    class function InheritsFrom(AClass: TClass): Boolean;
    class function MethodAddress(const Name: ShortString): Pointer;
    class function MethodName(Address: Pointer): ShortString;
    function FieldAddress(const Name: ShortString): Pointer;
    function GetInterface(const IID: TGUID; out Obj): Boolean;
    class function GetInterfaceEntry(const IID: TGUID): PInterfaceEntry;
    class function GetInterfaceTable: PInterfaceTable;
    function SafeCallException(ExceptObject: TObject;
      ExceptAddr: Pointer): HResult; virtual;
    procedure AfterConstruction; virtual;
    procedure BeforeDestruction; virtual;
    procedure Dispatch(var Message); virtual;
    procedure DefaultHandler(var Message); virtual;
    class function NewInstance: TObject; virtual;
    procedure FreeInstance; virtual;
    destructor Destroy; virtual;
  end;


   Т.е. нас ожидает табличка VMT на 9 методов. т.е. 9 * 4 = 36 байт + сам объект + указатель на VMT в объекте, т.е. стартуем как минимум уже с 40 байт. Если у нас 2 переменные типа Integer, то размер 48 байт. Итого в лучшем случае 85% размера объекта не наши, а родного TObject. При количестве переменных порядка 10 интов, лишние расходы уже 50%. Вот и задумаешься, когда создаешь список из 100000 таких объектов. У Advanced Record, такого быть не должно, так как она не наследник TObject.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Beltar
Дата 11.4.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 3
Всего: 7



2 Alexeis

Дык это понятно. Непонятно, почему несмотря на это в ряде новых языков структуры и класс объединены.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0971 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.