И расскажу вам я это не как обычный нытик, а как обычный программист.
На очень простом примере расскажу, который будет понятен даже обычному нытику.
Есть у меня в коде объект «точка». Эта точка по довольно простой траектории носится в масштабе некоторой зоны. И мне нужно отслеживать некоторое событие связанное с этой точкой и узнать в какой координате это событие произойдёт. Точка вполне самодостаточна и никаких асинхронных событий влияющих на её траекторию нет.
Легче простого — почёркал на бумаге траекторию, разложил на треугольники, обмазал тригонометрией на уровне средних классов средней школы, обернул в цикл в котором проверяю наступление ожидаемого события. Быстро и эффективно.
Да вот только не работает нихрена. Где-то ошибка. Причём ошибка довольно странная — поначалу всё ок, а потом — хлоп — и лезут какие-то странные значения. Переполнения быть не может, да и вообще каких-то очевидных багов. Погрешности там тоже накапливаться особо негде. А формул много и они некрасивые. Плюс траектория часто меняется — много изменений, связанных с симметрией. Короче — «Дiдько ногу зломе» пока найдёт там ошибку.
И что я делаю? У меня и так есть функция, которая смещает точку. Я просто вызываю эту функцию дохренища раз. Пока не наступит нужное мне событие.
Что в итоге? Решение получилось в СОТНИ раз менее эффективное, но принципиально безбажное, в десятки раз короче по коду и намного гибче в случае если траекторию движения точки придётся кардинально изменить (например вместо прямых сделать синусоиды).
Всё работает, производительность меня удовлетворяет. И думаете я когда-то вернусь к этому коду чтобы его всё-таки довести до ума и сделать его настолько быстрым, насколько это планировалось изначально? А вот фигушки. Без очень важных причин я этого делать не буду.
И таких кусков кода в большом проекте может быть очень и очень много.
Так что хватит ныть и начинайте готовиться к апгрейду своей железяки.
Есть вопросы?
←
1
2
→
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от andreyu
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от andreyu
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от tcler
Ответ на:
комментарий
от tcler
Ответ на:
комментарий
от tcler
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от tcler
Ответ на:
комментарий
от ixrws
Ответ на:
комментарий
от kott
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от alozovskoy
Ответ на:
комментарий
от Sadler
Ответ на:
комментарий
от kalterfive
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от kalterfive
Ответ на:
комментарий
от ixrws
Ответ на:
комментарий
от kott
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от tailgunner
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от ixrws
Ответ на:
комментарий
от tailgunner
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от tailgunner
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Иерархия современного софта. (2006)
- Форум Расскажите про современный Hyper-threading (2023)
- Форум чтобы софт не тормозил.. (2015)
- Форум [12309] вот и компиляй современный софт (2012)
- Форум Расскажите (2016)
- Форум Расскажите. (2010)
- Форум А расскажите о проблемах современного Linux для юзера! (2015)
- Форум [Археология][ПО]Современный софт для древних машин. (2010)
- Форум Современно современный C++ (2024)
- Форум Современный веб (2022)