Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2011, 12:26   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Пересоздание кода

Вчера, пока все системы переставлял, в голову пришла одна мысль о внутренней оптимизации моего GRAY FUR. Пока ставилась русификация все это обдумал на бумаге и прикинул, что ускорение вывода и обработки увеличится примерно на 20%, код станет понятнее и менее быдлокоднее. И теперь, пока обновляюсь до 10.10 сижу и думаю, стоит ли практически с нуля (разумеется, несколько используя старые наработки) переписать весь код? По времени займет около недели, но, думаю, результат будет довольно ущутимым как в плане понятности, так и в плане ускорения.

P.S. Много раз читал во всех статьях, что, мол, писать код с нуля есть плохо и неэкономия труда. А если оно того стоит?

P.P.S. Обновление до 10.10 будет проходить 10 часов. Это заговор
Изображения
Тип файла: png Снимок-Безымянное окно.png (64.0 Кб, 141 просмотров)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 23.01.2011, 12:30   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
А если оно того стоит?
если оно того стоит, то да.

сам прикинь стоит ли эта недели этих 20%?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.01.2011, 12:31   #3
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

В принципе в чем проблема, если ты делаешь это для себя для удовольствия, и это принесет профит в структуре кода то делай, хотя вообще это не есть хорошо.

Кстати, я вот думаю уже о 11.04 а ты только до 10.10 обновляешься
Levsha100 вне форума Ответить с цитированием
Старый 23.01.2011, 12:33   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
сам прикинь стоит ли эта недели этих 20%?
В принципе с моей колокольни мне даже плевать на эти 20%. Мне скорее выгоднее сделать код более читабельным:
Код:
Case Msg Of
   WM_MOUSEMOVE   : Begin
                     Mouse := MakePoint(LParam);
                     If Length(Warehouse.Button) > 0 Then
                      For I := 0 To Length(Warehouse.Button) - 1 Do
                       Begin
                        If (Warehouse.Button[I].Exists)                           And
                           (Warehouse.Button[I].Visible)                          And
                           (Warehouse.Button[I].Form = GetFormIDByHandle(Handle)) And
                           (Warehouse.Form[GetFormIDByHandle(Handle)].Visible)    And
                           (Warehouse.Form[GetFormIDByHandle(Handle)].Exists)     Then
                          If Warehouse.Button[I].State <> BTN_STATE_DISABLED Then
                           If InRect(Mouse.X,
                                     Mouse.Y,
                                     Warehouse.Button[I].Left,
                                     Warehouse.Button[I].Top,
                                     Warehouse.Button[I].Left + Warehouse.Button[I].Width,
                                     Warehouse.Button[I].Top  + Warehouse.Button[I].Height) Then
                            Begin
                             If Not(Warehouse.Button[I].Pressed) Then Warehouse.Button[I].State := BTN_STATE_HOVER

                            End
                             Else Warehouse.Button[I].State := BTN_STATE_NORMAL;

                       End;
                     BufferDraw(GetFormIDByHandle(Handle),'',FALSE);
                     Application.Procs.OnMouseMove(GetFormIDByHandle(Handle), Name, Mouse.X, Mouse.Y);
                    End;
Ужас, правда?

Цитата:
а ты только до 10.10 обновляешься
Оооо, я вчера извращался - на ноуте поставил XP, а на съемный жесткий поставил убунту с грубом. Теперь гружусь с жесткого
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 23.01.2011, 12:39   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Мне скорее выгоднее сделать код более читабельным
Цитата:
переписать весь код?
в общем то вещи совместимые.

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

в общем то все сводится к тому же вопросу:
Цитата:
сам прикинь стоит ли эта недели этих 20%?
(мое мнение что оно того стоит, + мое высказывание чуть выше)
Цитата:
Ужас, правда?
неа, у тя хоть код понятный более менее
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 23.01.2011 в 12:45.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.01.2011, 12:41   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
есть смысл сейчас переписать за неделю, чем потом за месяц.
Резонно.

Спасибо.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 23.01.2011, 12:42   #7
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Ойойой, переписывай срочно код=)
Levsha100 вне форума Ответить с цитированием
Старый 23.01.2011, 17:33   #8
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Лично Я переписывал код своей игры (~ 100 Кб) ради оптимизации 4 раза с нуля. Было потрачено лишних 2 недели, но оно того стоило скорость скриптов возросла в среднем на 300%.
Но не это важно, важно то, что Я свободно могу использовать наработки уже оптимизированного кода в будущем.
Виталий Желтяков вне форума Ответить с цитированием
Старый 23.01.2011, 18:04   #9
5naip
Форумчанин
 
Аватар для 5naip
 
Регистрация: 05.10.2007
Сообщений: 536
По умолчанию

не по теме, но у меня вообще 10.4 lts...
именно из-за lts.
rocklistener...
5naip вне форума Ответить с цитированием
Старый 23.01.2011, 19:36   #10
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

А смысл в lts для простого юзера?
Для компаний- да, но не для юзеров.
Levsha100 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распознавание Аски кода и скан кода MyLastHit Общие вопросы Delphi 8 06.12.2010 18:34
вывод кода mc_al Помощь студентам 1 17.06.2010 14:02
правильность кода DeDoK Работа с сетью в Delphi 12 22.11.2009 09:43
Защита кода GvR Общие вопросы Delphi 7 17.11.2009 03:08
Выдернуть куски кода из html-кода trafbite Помощь студентам 7 18.08.2007 13:51