powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Недостатки Дельфи и Билдера
9 сообщений из 134, страница 6 из 6
Недостатки Дельфи и Билдера
    #36476192
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerXDiaBLoВ Дельфи, при выборе события, тебя сразу же закидывает в сгенерированную функцию, вот к примеру ткнул куда попало:

Как бы по молодости не задумываешься, кажется что так и надо, туда писать код. А в Яве почему-то десять раз подумаешь, куда и чего писать.
Я ради интереса погуглил по слову всего-навсего addActionListener. Первая ссылка пустая (на явадок), вторая вот . Ведёт, между прочим, на sun.com. И совершенно явно "кажется, что так и надо писать код". Называется, найдите десять отличий от волшебной кнопки

"Десять раз подумаешь" - это характеристика человека, а вовсе не инструмента. Я вот почему-то использовал концепцию Action ещё когда ни в Яве, ни в Дельфе не было соответствующего стандартного класса.
Мне кстати больше нравятся лисенеры в ЭкшнСкрипт. Но я только что заподозрил, что от некоторой привычки к волшебной кнопке пока не совсем избавился И плюс что мои любимые лисенеры ЭкшнСкрипта тоже несколько предрасполагают к волшебной кнопке.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
		static private function dragShip():void
		{
.....
                        //добавление лисенера 
			playerTable.addEventListener(MouseEvent.MOUSE_MOVE, currentShip.mouseMoveOverTableListener);
.........
                }
private function mouseMoveOverTableListener(e:MouseEvent):void
		{
			var i:Number = Math.floor( e.localX / playerTable.getCellSize() );
			var j:Number = Math.floor( e.localY / playerTable.getCellSize() );
			var point:Point = new Point(i, j);
			correctCoordinates(point);
			stage.invalidate();
		}
		private function correctCoordinates(mouseCoordinates:Point)
		{
			var i:Number;
			var j:Number;
			if (mouseCoordinates == null)
			{
				return;
			}
			else
			{
				i = mouseCoordinates.x;
				j = mouseCoordinates.y;
			}
			if (rotation ==  0  && (j + size) >  10 )
			{
				j =  10  - size;
			}
			if (rotation == - 90  && (i + size) >  10 )
			{
				i =  10  - size;
			}
			if (i >=  0  && i <  10  && j >=  0  && j <  10 )
			{
				x = playerTable.x + (i+ 0 . 5 ) * playerTable.getCellSize();
				y = playerTable.y + (j+ 0 . 5 ) * playerTable.getCellSize();
			}
		}
Поле 10 на 10, морской бой. i и j номер клетки. x и y координаты на которые следует поместить картинку корабля. Это просто из моего алгоритма обработки расстановки кораблей. Думаю стоило бы убрать вообще всё в вызываемый метод correctCoordinates, но дело в том, что в других местах вызов происходит немного по другому, так что это более менее приемлемый вариант.
...
Рейтинг: 0 / 0
Недостатки Дельфи и Билдера
    #36476217
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКапитан очевидность.Визуальный дизайнер+кодогенератор завязывает тебя в месте, где ты можешь добавлять обработчики событий.
Не соглашусь. Редактор кода никуда не девается, операция New file присутствует как в любом нотепаде. А если знаешь, что такое data module (с чем, правда, у ряда дельферов.. проблемы) так и вовсе скорее "отвязывает от гуя".

Капитан очевидность.(от того, что обработка будет перенесена из Button1Click в DoSomething того-же класса-формы - толку будет мало,
Отнюдь. Значение и смысл "вынесения этого метода в отдельный класс" как раз гораздо меньше, чем "отрыва от кнопки".

Первое, в новый файл в Билдере лазить неудобно, если он к форме ни к какой не привязан, нужно туда лазить через класс-эксплорер, в котором отображается куча лишних классов
Второе, согласен, за то и люблю ЭкшнСкриптовские лисенеры. При правильном применении, удобнее, чем явовские. Плюс редактор удобнее чем в Билдере 6, я FlashDevelop использую. Правда ничего особенного в нём нет, но всё основное что нужно редактору, на месте, и по файлам лазить удобнее.
...
Рейтинг: 0 / 0
Недостатки Дельфи и Билдера
    #36476220
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoИ плюс что мои любимые лисенеры ЭкшнСкрипта тоже несколько предрасполагают к волшебной кнопке.
Имхо листенеры вообще больше располагают к этому, нежели события. Причина проста: листенер - это отдельный класс. То есть, получается, чтобы сделать "правильно", надо делать три класса: гуй, листенер и контроллер. Часто тут ощущается перебор и появляется желание упростить. Если, скажем, Action - ещё компонент на своём месте, то делать отдельный листенер для какого-нибудь edit.changed - как-то слишком.
...
Рейтинг: 0 / 0
Недостатки Дельфи и Билдера
    #36476221
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКапитан очевидность.См. выше про пример мега mainform с 15-тью поздакладками в TNotebook. Я такого насмотрелся и не раз (не на студенческих проектах).
Это да. Я однажды на заре своей карьеры столкнулся с программистом, который в течение примерно полугода аккуратно получал задания по ТЗ, делал их, а потом однажды оказалось, что все они сделаны в рамках одной формы.

Капитан очевидность.Да я уже написал, что и там и там обычно делают плохо.
Именно поэтому постановка вопроса "инструмент помогает хорошему или плохому стилю у начинающих" представляется мне... сомнительной.
Я в Билдере перенёс многое из магических кнопок в отдельные классы, раскидал по функциям, с внятными названиями, сделал красиво. А показать кому, стыдно, т.к. лазать по этим файлам неудобно, фиг проссышь, куда я что рассовал, разве что ctrl-left click, по вызову класса, чтобы попасть в тот файл, и то хорошо. Как я уже говорил, в Билдере 6, по классам без форм, лазить неудобно.
...
Рейтинг: 0 / 0
Недостатки Дельфи и Билдера
    #36476227
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerXDiaBLoИ плюс что мои любимые лисенеры ЭкшнСкрипта тоже несколько предрасполагают к волшебной кнопке.
Имхо листенеры вообще больше располагают к этому, нежели события. Причина проста: листенер - это отдельный класс. То есть, получается, чтобы сделать "правильно", надо делать три класса: гуй, листенер и контроллер. Часто тут ощущается перебор и появляется желание упростить. Если, скажем, Action - ещё компонент на своём месте, то делать отдельный листенер для какого-нибудь edit.changed - как-то слишком.
Так ведь в том-то и дело, что в ЭкшнСкрипте это обычно как я уже упоминал, нечто типа
private function mouseMoveOverTableListener(e:MouseEvent):void
То есть функция класса, в котором этот лисенер и цепляешь, куда хочешь. Я обычно это делаю к визуальным объектам, хотя есть там и другие лисенеры. И уже из него, можно вызвать какой-нибудь класс-обработчик. То есть изначально никто не заставляет делать отдельный класс. Так что не вижу разницы с событиями. Даже вон, названия какие MouseEvent к примеру. Лисенер получает событие. Так что не вижу, что тут к чему больше располагает.
...
Рейтинг: 0 / 0
Недостатки Дельфи и Билдера
    #36476236
softwarer
Именно поэтому постановка вопроса "инструмент помогает хорошему или плохому стилю у начинающих" представляется мне... сомнительной.

Если взять гипотетического коня в вакууме вполне себе реального недоученного студента
XDiablo, у которого "опыт и знания" ограничивается скачанной пиратской Delphi, книгами
Архангельского и прочитанными статьями сомнительного содержания и авторства,
да помноженное это все на условия изоляции от более-менее приличных коллективов разработчиков и проектов,
то проблема подсознательного доминирования неправильности инструмента вполне себе может иметь
место в его робких начинаниях интенсивного самообучения методом битья палкой от граблей по голове.

Это как, ну я не знаю, обезьяна с гранатой папуас с Delphi микроскопом перед привычной ему задачей добывания пропитания.

Что сделает папуас? Применит микроскоп для раскалывания скорлупы орехов. А потом, имея в одной
руке микроскоп, а в другой - руководство другого папуаса о MVC том, что линзы можно
использовать для добывания огня - заведет топик, о том, что какой-же это неправильный и дорогой
инструмент, микроскоп, что и орехи плохо колет, и огонь добывать из него совсем неудобно.

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

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


Короче.

Одно только не понятно. Эй, папуасы студенты, а кто вам вообще разрешил свое мнение высказывать?
...
Рейтинг: 0 / 0
Недостатки Дельфи и Билдера
    #36476251
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Капитан очевидность.,

Слушай, ты, я 5 лет назад отучился. На Дельфи не пишу из религиозной ненависти, на С++ Билдере начал с поддержки наследия, которое благополучно переписываю, уже наполовину убрал всё гавно. В Нетбинсе использую unit-тесты, и SVN, к Билдеру юнит-тесты прикрутить мне не удалось, давайте, списывайте на мою недоученность, но всё же я перерыл несколько библиотек юнит-тестирования, и мозг сломал об их документацию, при этом постоянно отвлекаясь на текущую работу. Причём к примеру boost.regex я прикрутил к одному Билдеровскому проекту. Ещё раз насчёт недоученности, у меня универ был лажовый, группа 17 человек, из них я один программист, остальные и рядом не валялись. Я вообще программирую не благодаря, а вопреки университету. Никаким из своих навыков программирования, я универу не обязан. Разве что может основы UML там узнал. Всё остальное самообучение. Результаты неплохие, но есть к чему стремиться. НО МЛЯ НА ЭТОМ ФОРУМЕ ЗАКОЛЕБАЛИ УЖЕ ВСЯКИЕ ОНАНИЗМУСЫ МЕНЯ ОСКОРБЛЯТЬ!!! Чем я показал какую-то недоученность и ущербность? Я справляюсь с работой, и дома программирую из личного желания, в чём я не прав то опять? Короче, смотался отсюда, му**ло, ты запарил уже!
...
Рейтинг: 0 / 0
Недостатки Дельфи и Билдера
    #36476255
XDiaBLoКапитан очевидность.,
Слушай, ты, я 5 лет назад отучился.
И до сих пор ничего толком делать не научился?

Хм.

XDiaBLoНа Дельфи не пишу из религиозной ненависти
Вот я и говорю. Такое - не лечится.


Модератор: Вот на этой радостной ноте и закончим.
...
Рейтинг: 0 / 0
Недостатки Дельфи и Билдера
    #36476269
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Капитан очевидность.XDiaBLoКапитан очевидность.,
Слушай, ты, я 5 лет назад отучился.
И до сих пор ничего толком делать не научился?

Хм.

XDiaBLoНа Дельфи не пишу из религиозной ненависти
Вот я и говорю. Такое - не лечится.
Научился. Моя основная работа была связана с отчётами на SQL и в Oracle Report Builder'е. В последнее время, стало на работе посвободнее с графиком, и появилось время заниматься повышением навыков программирования, чем я успешно и пользуюсь. А то что мне не нравится Дельфи, так это дело вкуса, я несколько лет на Pascal'е программировал, ну не нравится и всё. Ведь бывает такое, не так ли? И при чём тут болезни? Вам то я не запрещаю. Но от Builder'а всё равно уйду, по крайней мере от 6. Хотя я бы предпочёл хотя-бы на визуал студию, если не на Яву. Я видел свежие версии билдера, смотрел, но несмотря на все их удобства, что-то не хочется просить начальство покупать Билдер новый, я бы лучше опять же визуал студию попросил. Но пока экспериментирую с переводом одного проекта на Яву.

З.Ы. Модератору, не надо закрывать тему, на оскорблении меня. Я желаю прежде развеять сомнения анонимуса, по поводу его заблуждений насчёт меня. Неприятно видеть тему, законченную оскорблением меня.


Модератор: Стукнись в аську 648484
...
Рейтинг: 0 / 0
9 сообщений из 134, страница 6 из 6
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Недостатки Дельфи и Билдера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]