|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.02.2018, 15:08 | #11 | ||
Пользователь
Регистрация: 25.02.2018
Сообщений: 18
|
Цитата:
Цитата:
Вот, собственно, в чем состоит суть моего вопроса: с чего бы Вы посоветовали начать исправление этой ситуации? Я пока склоняюсь к тому, чтобы начать с аудита самого лучшего с моей точки зрения модуля, чтобы получить образец, к которому надо привести остальные. Как Вы думаете, как лучше всего это организовать, чтобы польза от этого аудита была максимальной? Код написан на javascript с использованием библиотеки THREE.js, объем того модуля, который я считаю наилучшим в районе 12 тыс строк. |
||
27.02.2018, 15:21 | #12 | |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Цитата:
Тут сложно советовать потому что непонятно что там и как вообще устроено. Какого рода расчеты проводятся и тд. Вы для каждой конкретной лестницы заказывали свою функцию расчета что-ли? Сколько у вас типов таких проектов?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
|
27.02.2018, 15:34 | #13 | |
Пользователь
Регистрация: 25.02.2018
Сообщений: 18
|
Цитата:
|
|
27.02.2018, 15:34 | #14 | |
Пользователь
Регистрация: 25.02.2018
Сообщений: 18
|
Цитата:
|
|
27.02.2018, 15:54 | #15 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Ну ладно. Уже кое что.
И где появляется ошибка?? Я надеюсь сами методы создания элементов собраны в едином модуле?? метод addHole тоже один на всех?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
27.02.2018, 16:11 | #16 | |
Пользователь
Регистрация: 25.02.2018
Сообщений: 18
|
Цитата:
И таких условий огромное количество и не все они заранее известны. Более того, большинство условий использует сочетание трех и более параметров. Проще говоря, корень проблемы это сложная и заранее не формализованная бизнес-логика. А если учесть еще и то, что все эти модели лестниц мы разрабатываем сами и идет постоянный процесс улучшения конструкции... На самом деле, эта система и является по-сути "формализатором" зависимости конструктива лестницы от параметров. То есть невозможно просто сесть и сделать описание конструкции лестницы из за очень большой вариативности. Проще говоря, надо сначала написать модуль, поиграться с ним при разных параметрах, выцепить сочетания параметров, при которых появляются косяки (в примере со ступенями это вылезание уголка из под ступени, несовпадение отверстий, пересечение уголков с какими-то другими объектами и т.п.) и добавить в код условия, не допускающие возникновения этих косяков. И, переосмыслив свою проблему, я пришел к выводу, что проблема у меня скорее с реализацией, чем с архитектурой. Код разбит на модули, модули на функции, только вот код функций написан плохо. |
|
27.02.2018, 16:16 | #17 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
staircaseMaker
Используете ли вы файлы для описания моделей, частей моделей?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
27.02.2018, 16:19 | #18 | |
Пользователь
Регистрация: 25.02.2018
Сообщений: 18
|
Цитата:
Если разбиение кода на файлы, то да - каждый модуль разбивается на файлы и в каждом файле находится код, решающий какую-то одну задачу. Если имеете в виду текстовые файлы или файлы с какими-то параметрами, то нет |
|
27.02.2018, 16:35 | #19 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Да е мае.
У вас по сути 3D редактор. Как я понял вы каждую модель(крепление, уголок и тд) создаете руками. Ну так почему бы не исходить из того чтобы в рамках каждого проекта создавать свой набор уголков и элементов? Но создавать методами которые будут во всей программе уникальные. Допустим единое пространство где вы будете создавать любые детали. Единая координатная сетка. Затем для проекта "Лестница" просто из списка собирать требуемую конфигурацию. У вас разве не так? И тогда не надо под каждую конфигурацию лестницы писать какой то отдельный конструктор со своими масштабами. Или я не так понимаю?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
27.02.2018, 17:05 | #20 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
WorldMaster
У них там САПР, а не 3D редактор. С параметрическими моделями, подбор параметров которых должен происходит автоматически. И вот есть ешё констрены, ограничения на эти модели они разработали и закодировали кодом - а стоило бы их задокументировать. Но архитектуры как таковой нет. По двум причинам: опыта нет, а в интернете не описано. Выход ТС уже написал сам рефакторинг. staircaseMaker Да начать аудита кода выделить эти самые модели и попробовать их как-то назвать и задокументировать. Вот эти параметрические модели я бы вынес в файлы и описал бы в них помимо моделей ещё и ограничения и некоторые кейсы(подстановка другой модели, отражение, поворот, размножение, повторение). Насколько это возможно в рамках программы ТС я не знаю, надо смотреть код. Процесс этот не быстрый. Но это не главное надо учитывать как тестировать, что тестировать. Файлы должны помочь. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблемы с компиляцией программы | mrKrog | Общие вопросы C/C++ | 16 | 25.05.2017 22:20 |
"Огниво" – Блокнот для прозы, инженерной мысли, личных записей и планов на жизнь | Ognivo | Софт | 13 | 09.10.2014 23:51 |
Чудо инженерной мысли | sweex1234 | Помощь студентам | 1 | 17.02.2011 19:02 |
Проблемы с запуском программы | Gogent | Помощь студентам | 2 | 19.08.2010 13:08 |