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

Вниз

большие процедуры/функции   Найти похожие ветки 

 
Думкин ©   (2011-03-31 13:25) [40]

Удалено модератором


 
Mystic ©   (2011-03-31 13:32) [41]


> Kerk ©   (30.03.11 17:54) [6]



function CheckFile: Boolean;
begin
CheckHeader;
CheckBody;
CheckFooter;
end;


Это самый простой случай, чаще возникает ситуация, когда это заменяется либо на


function CheckFile: Boolean;
var
 Ctx: TCheckFileContext;
begin
CheckHeader(Ctx);
CheckBody(Ctx);
CheckFooter(Ctx);
end;


либо на


class function TFileChecker.Check: Boolean;
var
 FileCheckerInstance: TFileChecker;
begin
 FileCheckerInstance := TFileChecker.Create();
 try
   FileCheckerInstance.CheckHeader(Ctx);
   FileCheckerInstance.CheckBody(Ctx);
   FileCheckerInstance.CheckFooter(Ctx);
 finally
   FileCheckerInstance.Free;
 end;
end;


 
Rouse_ ©   (2011-03-31 13:45) [42]

Удалено модератором


 
Rouse_ ©   (2011-03-31 13:46) [43]

Удалено модератором


 
Kerk ©   (2011-03-31 13:49) [44]

Удалено модератором


 
Kerk ©   (2011-03-31 13:50) [45]

Удалено модератором


 
KilkennyCat ©   (2011-03-31 14:19) [46]


> > лучше будет смотреться
> >
> > function CheckFile: Boolean;
> > begin
> >  CheckHeader;
> >  CheckBody;
> >  CheckFooter;
> > end;


Вы не видели, наверное, АS3.
для любой фигни - функция.
новый класс - новый файл.
вообщем, любое телодвижение - функция, файл.
это по ихней идеологии.
в результате ОЧЕНЬ удобно. слов нет. пока сквозь гору и кучу этого продерешься - забудешь чего хотел.
И если в Делфи сотня едитов с персональным одинаковым обработчиков это признак идиотизма, то там это в порядке вещей.
Хотя можно писать и нормально.


 
Kerk ©   (2011-03-31 15:03) [47]


> KilkennyCat ©   (31.03.11 14:19) [46]

AS3 - это флеш? Наверно, именно поэтому небольшой баннер на забытой вкладке браузера может отожрать совершенно любое количество памяти :))


 
Компромисс   (2011-03-31 15:34) [48]

KilkennyCat

Вам нужно научиться писать/использовать компоненты. AS3 богаче Delphi по возможностям. Чего только один ClassFactory стоит или first-class functions


 
картман ©   (2011-03-31 17:59) [49]


> AS3 богаче Delphi по возможностям.

а html - богаче AC3, ага


 
Kerk ©   (2011-03-31 18:07) [50]


> картман ©   (31.03.11 17:59) [49]

Ну так. На Delphi  вообще пришлось бы код писать, чтоб картинку на экран вывести, а в html пишешь <img src=""> и все, готово :))


 
Компромисс   (2011-03-31 18:11) [51]

картман

Это к чему вообще? Flex/AS3 - полноценный ООЯ, никакие html и рядом не стоят. Даже int является объектом, например.
Если человек вместо того, чтобы вынести повторяющийся функционал в компонент (конечно, это же будет отдельный файл, которые он так не любит!), дублирует обработчики, он ССЗБ


 
картман ©   (2011-03-31 18:16) [52]


> Это к чему вообще?

я не согласился с

> AS3 богаче Delphi по возможностям.


 
Компромисс   (2011-03-31 18:26) [53]

я не согласился с

Вы же не знаете Flex/AS3, насколько я понимаю. Как же Вы можете судить в таком случае?
В Flex/AS3 есть много очень интересных фишек, начиная с Bindable  (при изменении свойства модели все view, которые его используют, автоматически обновятся без всякого кода) и заканчивая операторами (не путать с синтаксическим сахаром!), которые позволяют работать с массивами, коллекциями, Dictionary и просто объектами одинаковым образом, благодаря тому, что эти объекты внутренне предствалены похожим образом
for each(var item:Object in items){
...
}

где items может оказаться (в runtime!) и Array, и ArrayCollection, и Object, и Dictionary.
А уж reflexion вообще сказка, например this["my" + i] обратится к свойству my1, если i=1. причем my1 может быть как var, так и get function, то есть инкапсуляция поддерживается идеально - переменную всегда можно поменять на пару get/set если необходимо, а клиенты ничего не заметят.


 
Kerk ©   (2011-03-31 18:29) [54]


> Компромисс   (31.03.11 18:26) [53]

Что-то вообще ничего особенного в перечисленном не заметил.
Кроме, пожалуй:

> например this["my" + i] обратится к свойству my1, если i=1.
>  причем my1 может быть как var, так и get function

Но это обычная фишка для скриптовых языков. В Delphi этого хаоса к счастью нет.


 
Kerk ©   (2011-03-31 18:34) [55]

Вообще, не видно какой-то связи между языком и Bindable с ClassFactory. Ты думаешь, в Delphi никто фабриками классов не пользуется, раз приводишь это как мегафичу языка(почему-то)?


 
Игорь Шевченко ©   (2011-03-31 18:45) [56]


> например this["my" + i] обратится к свойству my1, если i=1.


ночной кошмар программиста


 
delphimaster   (2011-03-31 18:53) [57]

Удалено модератором


 
картман ©   (2011-03-31 19:03) [58]


> Компромисс   (31.03.11 18:26) [53]
>
> я не согласился с
>
> Вы же не знаете Flex/AS3, насколько я понимаю. Как же Вы
> можете судить в таком случае?

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

AS3 богаче Delphi по возможностям.

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

В  [53] - только они, симпатишные рюшечки.


 
DiamondShark ©   (2011-03-31 19:04) [59]


> Игорь Шевченко ©   (31.03.11 18:45) [56]
> ночной кошмар программиста

Ночной кошмар -- это монстрики 60-х годов прошлого века, вроде паскаля и си++.


 
DiamondShark ©   (2011-03-31 19:12) [60]


> delphimaster   (31.03.11 18:53) [57]
> кому понадобятся такие извращения

Самый примитивный пример: сериализация объектов.


 
Игорь Шевченко ©   (2011-03-31 19:17) [61]

DiamondShark ©   (31.03.11 19:04) [59]

Видите ли, Дима, по моему скромному мнению, кошмар в том, что диагностика ошибок с времени компиляции переносится на время выполнения.


 
DiamondShark ©   (2011-03-31 19:37) [62]


>  диагностика ошибок с времени компиляции переносится на
> время выполнения.

Как, например, при инициализации формы из DFM, или в конструкциях вида
query1.FieldByName("KodTovara")

Видите ли, Игорь, современные программы строятся не столько на встроенных средствах языка (ну сколько в том Паскале встроенных средтв-то?!), сколько на библиотеках и фреймворках.
И вот тут-то ВНЕЗАПНО выясняется, что программы состоят из ошибок, перенесённых на время исполнения, чуть менее, чем полностью.
А если солдафонская кондовость языка всё равно не избавляет от переноса ошибок на время выполнения, то зачем плац ломом подметать? Из верности заветам Ильича?


 
Игорь Шевченко ©   (2011-03-31 19:49) [63]

DiamondShark ©   (31.03.11 19:37) [62]


> Как, например, при инициализации формы из DFM, или в конструкциях
> вида
> query1.FieldByName("KodTovara")


Кто бы спорил. Правда насчет инициализации формы не совсем понял.


> Из верности заветам Ильича?


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


 
Компромисс   (2011-03-31 20:29) [64]

Kerk ©   (31.03.11 18:29) [54]

Это не хаос. Я обычно на Flex пишу как на Delphi/Java, со строгой типизацией (компилятор имеет соответствующую настройку, включенную по умолчанию). Но бывает полезным и упрощенный reflection (как и в Delphi).

картман ©   (31.03.11 19:03) [58]

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

Я писал именно о том, чем возмутился KilkennyCat ©   (31.03.11 14:19) [46]
То есть именно в ООП и компонентно-ориентированном программировании (особенно UI) возможности AS3/Flex выше. Конечно, для работы с БД, например, возможности у AS3/Flex вообще никакие :)

Игорь Шевченко ©   (31.03.11 18:45) [56]

Никто не мешает использовать my1 без всяких извращений, так компилятор даже типы проверять будет, причем не хуже, чем в Delphi


 
картман ©   (2011-03-31 20:43) [65]


> Компромисс   (31.03.11 20:29) [64]


> Я писал именно о том, чем возмутился KilkennyCat ©   (31.
> 03.11 14:19) [46]

тады ой.


> DiamondShark ©   (31.03.11 19:04) [59]
>
> Ночной кошмар -- это монстрики 60-х годов прошлого века,
>  вроде паскаля и си++.


можно пример некошмарного?


 
DiamondShark ©   (2011-03-31 23:33) [66]


> картман ©   (31.03.11 20:43) [65]
> можно пример некошмарного?

Scala, Nemerle


 
KilkennyCat ©   (2011-04-01 01:10) [67]

Во Флексе и АС3 все делается, извиняюсь, через заднее место.
Некоторые фишки, позаимственные у Явы - все его богатство.
Эзотерические языки тоже могут вызывать восхищение. Попробуйте использовать на практике.
Может быть, АС3 и полноценный ООЯ.
Но в сочетании с ущербной(неудобной) средой разработки и конечной целью - мультик, баннер, игрушка и прочая фигня - он такой все только усложняет.

Говорите, использовать все его богатство компонент и пр.? Ну, видел я такие работы. Тяжелые, жрущие ресурсы, тормозящие.

АС2 и то был практичнее, хотя бы несквозной событийностью и автоматическим удалением всего связанного с объектом, при удалении оного.

Удел флэша - мультики и игры. Там ему надо было и оставаться, развиваясь в 3D, упрощая труд анимации и пр. А не пытаться стать еще одним аля дотнетом.
За двумя зайцами погонишься - от обоих по шее и получишь.


 
DiamondShark ©   (2011-04-01 02:21) [68]


> KilkennyCat ©   (01.04.11 01:10) [67]
> Эзотерические языки тоже могут вызывать восхищение. Попробуйте
> использовать на практике.

Ну я использовал на практике JavaScript, это очень близкий родственник ActionScript. Фактически, различаются только библиотекой встроенных объектов.
Довольно большое ASP приложение (дотнета ещё не было в природе), причём, сначала был напилен свой фреймворк.
Язык действительно богаче дельфи. Главное -- не поддаваться стереотипам.

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


 
KilkennyCat ©   (2011-04-01 03:18) [69]


>  JavaScript, это очень близкий родственник ActionScript.

http://ejohn.org/files/ecma-cloud.png

> А из среды разработки у меня был только нотепад.

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


 
DiamondShark ©   (2011-04-01 11:41) [70]


> KilkennyCat ©   (01.04.11 03:18) [69]
> http://ejohn.org/files/ecma-cloud.png

Рисовал метадоновый наркоман, попавший по ошибке на измену от шишек.

По схеме Microsoft JScript и Mozilla JavaScript -- пипец какие разные языки.
Встретишь Джона -- передай, чтоб траву с алкоголем не мешал.


> с нотепадом сейчас не везде далеко пойдешь.

У тебя сегодня профессиональный праздник, что-ли?


 
Компромисс   (2011-04-01 13:40) [71]

KilkennyCat ©   (01.04.11 01:10) [67]

Как все запущено.

Я уже много лет только бизнес приложения на Flex пишу и ничего больше, ни игр, ни баннеров, ни мультиков.
Вот тут например можно посмотреть грид, который сам группирует данные по определенным полям и отображает в виде дерева. Причем элементарно добавлять in-place editor и прочие штуки, которые должны быть знакомы любому delphi-разработчику.
http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/mx/controls/AdvancedDataGrid.html?filter_flex=4.1&filter_flashplayer=10.2&filter_air=2.6#inc ludeExamplesSummary

AS3 ничем не хуже AS2, он тоже автоматически освобождает память от объектов, которые более недоступны. Точно так же, как в JVM.

ЗЫ. Я не умею делать ни мультики, ни презентации. Даже не знаю, в чем они делаются :) Если мне нужно какой-то эффект, достаточно программынй средств, типа showEffect="{Fade}" и при появлении элемент будет появляться достаточно красиво, а hideEffect="{WipeRight}" визуально сотрет элемент слева направо.


 
KilkennyCat ©   (2011-04-02 02:44) [72]


> Компромисс   (01.04.11 13:40) [71]

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


> AS3 ничем не хуже AS2, он тоже автоматически освобождает
> память от объектов, которые более недоступны.


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


 
KilkennyCat ©   (2011-04-02 02:45) [73]


>  DiamondShark ©   (01.04.11 11:41) [70]
>
> У тебя сегодня профессиональный праздник, что-ли?

ищешь коллег?


 
Компромисс   (2011-04-04 10:44) [74]

KilkennyCat ©   (02.04.11 02:44) [72]

но все-таки сомневаюсь, что бизнес-приложения там столь эффективны и в плане работы, и в плане разработки.

В плане разработки получается быстрее, чем в Delphi. В плане эффективности, конечно, в Delphi эффективнее (при прочих равных условиях).

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

Нет, не ошибаетесь. Но наже в Java рекомендуют крайне осторожно использовать явный вызов сборщика мусора.

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


 
DiamondShark ©   (2011-04-04 12:33) [75]


> хмм... насколько я помню, это "автоматически" происходит
> не всегда, когда надо,

Твоё "надо" и "надо" менеджера памяти -- это разные нады.
Твоё никому не интересно, потому что в 99.666% случаев необосновано и вредно.


> невозможно инициировать работу сборщика мусора когда хочется.
>  или ошибаюсь?

Ты так говоришь, будто в этом есть что-то плохое.


> по крайней мере, по сжиранию ресурсов картина наблюдалась
> именно такая.

У дурака в руках и член -- стекло: заставь дурака дрочить, он и член разобьёт и руки порежет.


 
KilkennyCat ©   (2011-04-05 08:46) [76]



> DiamondShark ©   (04.04.11 12:33) [75]

у тебя что, бред из-за ПМС?


 
DiamondShark ©   (2011-04-05 10:32) [77]


> KilkennyCat ©   (05.04.11 08:46) [76]

Докопаться до "эзотерических", как ты выразился, языков, что там менеджер памяти напрямую нельзя вызвать, -- это по глубокомысленности близко к  претензиям, например, к SQL, что там нельзя окна рисовать.

Так что ты хорошенько подумай, у кого действительно бред.


 
KilkennyCat ©   (2011-04-05 22:06) [78]

DiamondShark ©   (05.04.11 10:32) [77]


> близко к  претензиям, например, к SQL, что там нельзя окна
> рисовать.
>

кстати, да!

но уже все устарело и поменялось: пока мы грызлись, я работал круглые сутки с АS3.... У меня теперь претензии к Делфи :)
Так что, приношу свои извинения.



Страницы: 1 2 вся ветка

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

Наверх





Память: 0.63 MB
Время: 0.006 c
1-1259225003
Циркуль
2009-11-26 11:43
2011.07.17
Непредсказуемый порядок обхода контролов


15-1301622421
Palladin
2011-04-01 05:47
2011.07.17
1 апреля


2-1302342810
Alex_C
2011-04-09 13:53
2011.07.17
Создать модальное окно


2-1301992024
NieL
2011-04-05 12:27
2011.07.17
xpath


15-1301662418
Baks
2011-04-01 16:53
2011.07.17
Как лучше записать несколько TBitmap в один файл





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