|
Упрощение кода
|
|||
---|---|---|---|
#18+
Добрый день! Подскажите пожалуйста как максимально можно упростить этот код( Думал циклом, но вряд ли получится. По крайней мере не вижу как. Код: vbnet 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.
PS Открываем затвор - будующие процедуры, которые в дальнейшем будут двигать графически нужный затвор на нужную ступень ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:43 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Чем они отличаются? Константами? Загнать константы в массив или БД и использовать одну процедуру ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:45 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Смысл в том, что таких процедур - Gate..Point.. будет 72, поэтому могу себе представить до каких размеров вырастит код Заранее спасибо!!!!!!!!!!!!!!!!!!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:45 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Я тебя уже учил НЕ ПОВТОРЯЙ КОД делай это сразу, еще до его написания ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:46 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.ProЯ тебя уже учил НЕ ПОВТОРЯЙ КОД Поэтому и задал такой вопрос, потому что не хочу повторять код. Во-первых это неправильно, во-вторых море время займет. Если бы знал как сделать не отписывал бы ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:48 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Если по коду не понятно, то мне нужно в СТРОГОЙ последовательности пройтись по процедурам(всего 72). И наткнувшись в очередной процедуре на удовлетворяющее условие, выполнить движение объектов( тех затворов-процедур, которые были пройдены) Не знаю понятно или нет ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:54 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Т.е. если прошли Gate7_Point1, Gate5_Point1,Gate3_Point1 и на Gate4_Point1 условие выполнилось, то нужно выполнить Move7_1, Move5_1, Move3_1 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:58 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameron, не увидела начальных значений --RememberVSB --Con1 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:58 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКАне увидела начальных значений Код: vbnet 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. 42. 43. 44. 45. 46. 47.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 16:08 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameronТ.е. если прошли Gate7_Point1, Gate5_Point1,Gate3_Point1 и на Gate4_Point1 условие выполнилось, то нужно выполнить Move7_1, Move5_1, Move3_1Все эти циферки в названиях твоих процедур должны исчезнуть. Должен где-то определен массив данных, который определяет и константы и последовательность действий и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 16:21 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameron, все ваши функции --с параметрами, значит они не головные трудно угадывать, что должна делать программа, не понимая ее сути по слову (затвор) мои предположения --ленинградская дамба --подъем воды при наводнении --в зависимости от уровня угрозы --закрываются некоторые ворота, причем по какой то схеме, а не просто 1,,2,,3,,72 --если на каких-то воротах профилактика, возможно изменение схемы запирания ничто другое в голову не пришло с фразой 72 затвора ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 19:37 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.ProДолжен где-то определен массив данных, который определяет и константы и последовательность действий и т.п Массив каких данных? Можно хоть простейший пример того, что нужно сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 11:25 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameronShocker.ProДолжен где-то определен массив данных, который определяет и константы и последовательность действий и т.п Массив каких данных? Можно хоть простейший пример того, что нужно сделатьОткуда я знаю, я же не буду за тебя писать всю программу Должно быть что-то типа того Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Как хранятся данные для функций A1-A4 и как осуществляется к ним доступ - это надо решить. Но факт, что они не должны храниться в коде ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 11:32 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.ProОткуда я знаю, я же не буду за тебя писать всю программу Не прошу этого. Мне это и не нужно. Хочу САМ, но как можно правильнее. Буду тогда чесать правой рукой левое ухо. Код: vbnet 1.
- Это одна из 72 функций( все разные) типа y=-0.1578 * x ^ 2 + 13.443 * x - 179.19 Если помощь в этом займет сильно много времени так и скажите, буду чесать ухо. Если готовы помочь, скажите что я непонятно объяснил, объясню более развернуто. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 15:27 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Ты уверен, что функции разные? В приведенных примерах разные только константы, функции одинаковые ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 15:35 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Вероятно, у тебя есть таблица из 72 строк: код затвора константа1 константа2 константа3 код подчиненного затвора7.1-0.157813.443179.195.1 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 15:39 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
а ничего, что у ТС single тип данных? ему же скорее всего надо decimal, а в VB c этим сложнее ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 15:43 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Konst_Oneа ничего, что у ТС single тип данных? ему же скорее всего надо decimal, а в VB c этим сложнееНе думаю, что в данном случае недопустимы расчеты с плавающей запятой. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 15:48 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
ну автору виднее, я просто предупредил, что точность надо учитывать. это если он сравнивает свои результаты с эталонной таблицей ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 15:52 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Кстати, А зачем каждый подчиненный затвор открывает своих родителей? Разве не проще сделать так (показываю на изначальном примере, без оптимизации) Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 15:52 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameron, кстати, про форматирование кода вроде ты говорил, что ты понял, а опять насажал лишних отступов ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 15:53 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.ProТы уверен, что функции разные? В приведенных примерах разные только константы, функции одинаковые Ну я имел в виду функции разные от того, что константы разные. Если посмотреть с той точки зрения что вы сказали, то да - функции все одинаковые, а константы в них разные. Скорее такая таблица. Код затвора константа1 константа2 константа3 код подчиненного затвора Какие щиты нужно открыть7.1-0.157813.443179.195.17.15.1-0.1651614.052-187.30053.17.1:5.13.1-0.155313.17-175.574.17.1:5.1:3.1 Вот подробно: Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 16:22 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.ProКстати, А зачем каждый подчиненный затвор открывает своих родителей? Разве не проще сделать так (показываю на изначальном примере, без оптимизации) Вот тут вы очень правы. Можно и так и это уже упрощает. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 16:27 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.Proкстати, про форматирование кода вроде ты говорил, что ты понял, а опять насажал лишних отступов Ну я понял что не нужно стесняться делать отступы, вот и делаю их так, чтобы мне удобно было быстро пробежать по коду. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 16:28 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameronНу я понял что не нужно стесняться делать отступы, вот и делаю их так, чтобы мне удобно было быстро пробежать по кодуя говорил, что не надо делать отступы там, где операторы идут последовательно и не подчинены друг другу. Разве RememberVSB = RememberVSB + intVSB как-то подчинен intVSB = -0.16516 * VB ^ 2 + 14.052 * VB - 187.3005 разве он не будет выполнен в любом случае после первого? vdekameronВот тут вы очень правы. Можно и так и это уже упрощает.тогда зачем нужен столбец таблицы "Какие щиты нужно открыть"? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 16:37 |
|
|
start [/forum/topic.php?fid=60&msg=38909568&tid=2155998]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 173ms |
0 / 0 |