Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

DNK
I. DNK
Баллы: 5

Подробнее »



Вопрос # 1 187

Раздел: Delphi » Прочее
/ вопрос открыт /

Приветствую, уважаемые эксперты! Наверное не в тот раздел, но. Когда-то я поставил задачу написать программу для рисования графиков функций. Но в какой то момент упёрся в собственную криво-рукость))) Но спустя какое-то время в ущерб здоровью (с ОРВИ за компом 2 дня с перерывчиками) сделал ЭТУ программу! потом усовершенствовал и долго рисовал графики. Потом дополнял, дополнял, дополнял. И вот теперь, так как это единственная программа, которую я доделал до такого состояния, что больше не получается ни придумать ни реализовать чего-либо, я даю вам исходники, как-бы на проверку моих знаний. Скажите где я написал не-так, где можно оптимизировать и т.д. Очень хочется услышать отзывы (не ругайте за внешний вид, хотя вы же тоже программисты), но главное скажите про мои ошибки)))
Заранее благодарю. А..... Исходники прикрепил

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Gooddy Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Gooddy (статус: 3-ий класс)
Вопрос отправлен: 9 декабря 2007, 23:59
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Wallpk!
Просмотрел вашу программу. Как собственно она работает не имел возможности смотреть, но есть замечания другого плана, также не маловажные.
1) Каждая функция/процедура должна иметь осмысленное имя! Если по clea я догадываюсь, что это clear, то имя xto ни о чем не говорит. И вам ничего не скажет через 2-3 месяца.
2) перед каждой функцией/процедурой принято вставлять заголовок. как минимум написать, что делает функция. также желательно вставить и описания входных параметров, результата. В некоторых случаях написать допустимый диапазон параметров.
3) Использование goto считается дурным тоном. Я рекомендовал бы обходиться без него. мне например за последние лет 5 не приходилось им пользоваться. Хотя код писал и очень сложный.
4) прорисовка сразу на Image. и как следствие вставленно много application.ProcessMessages; для "повышения отзывчивости". Рекомендую рисовать на битмапе в памяти (TBitmap), а потом одним махом переносить на форму. прорисовка заметно ускориться:)

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 11 декабря 2007, 02:06
Оценка за ответ: 5

Комментарий к оценке: Всё правильно =)

Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 25 мая 2009, 17:57; участников в обсуждении: 2.
min@y™

min@y™ (статус: Доктор наук), 10 декабря 2007, 08:24 [#1]:

Не найден модуль FormulUtil.pas
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Gooddy

Gooddy (статус: 3-ий класс), 11 декабря 2007, 20:22 [#2]:

ой. там компонент один Tformula называется
Чисти код! Чисти код! Чисти код!
Gooddy

Gooddy (статус: 3-ий класс), 25 мая 2009, 17:57 [#3]:

недавно переделал с нуля:) знаете что ускорило прорисовку в 1000 раз? не то что я рисовал сначала в памяти, не то что я убрал application.ProcessMessages, не то что я оптимизировал подсчёт и разбил рисовку на 4 потока, а то что я стал рисовать не попиксельно а линиями. примите на заметку. лучше написать
moveto(1,2)
lineto(1,2)
чем
pixels[1,2]:=clBlack
качество кстати тоже возросло
Чисти код! Чисти код! Чисти код!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 24 августа 2017, 07:58
Выполнено за 0.14 сек.
Рейтинг@Mail.ru