|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
На работе дали задание - объединить несколько скриптов в один и упростить полученное. Скрипты рабочие, проверяют несколько листов на наличие нужных данных, и выводят их в на листы 9 (ПНОС ДЕБЛОКИР) и 10 (ПНОС КОНТУРА). Часть я уже объединил без проблем, т.к. очень схожие. Сейчас надо понять как их упрощать, потому что есть еще несколько, которые надо дописать в скрипт. Проблема в упрощении. И да, я не гуру VB, и надеюсь на максимально простые ответы, а можно и с примерами даже)) Вот собственно сам скрипт: Код: 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. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 07:22 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
есть золотое правило программиста: работает - не трогай для того, чтобы делать рефакторинг - нужны основания И лучше не делать такую длинную простыню - это сложно воспринимать и отлаживать - каждый смысловой кусок лучше оформить в виде отдельной функции, а из главной только вызывать их. А вы, как я понимаю, хотите эту простыню еще и удлиннить. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 09:01 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
Shocker.Pro, я хочу просто сделать так, что бы в 1 клик выполнялись все нужные функции, и при этом максимально быстро. Да, оно работает, но работает оно долго, и путем последовательного выполнения 5-и скриптов. Надо что бы выполнялось хотя бы в один клик... просто здесь много одинаковых переменных. Например дата одинаковая, но вызывается не один раз. И потому, как мне кажется, проще написать все в одну "простыню", чем несколько раз делать одно и то же)) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 09:15 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
Skyeмаксимально быстро.начните с этого ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 10:01 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
Shocker.ProSkyeмаксимально быстро.начните с этого ...то есть уберите переключение листов, на это уходит время. плюс, поставьте в начале скрипта Код: vbnet 1.
а в конце Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 10:07 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
Shocker.Pro, спасибо, теперь работает он и правда быстрее, без приступов эпилепсии (теперь он не листает так истерично страницы) :D Есть ли еще идеи по упрощению какие-нибудь. Мне все же не нравится эта дата, которая занимает кучу места, вызывается несколько раз, и делает код визуально большим и страшным... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 10:31 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
А что тут упрощается-то? есть четыре цикла, каждый из них работает со своим условием и со своим листом. Навскидку я не вижу между ними ничего общего ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 10:59 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
Skyeделает код визуально большим и страшным...рецепт от этого я уже сказал - раздельные функции ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 10:59 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
Shocker.Pro, что-ж, и на том спасибо, попробую что-нибудь сделать сам)) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 12:23 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
я к чему - самая длинная операция - это чтение и запись ячейки можно запихнуть все в один цикл, но если общее количество чтений/записей ячеек не изменится, то выгоды не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 13:01 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
Shocker.Pro, хм... ваша правда, даже если все то дело сократить до безбожности - он все-равно будет проверять ни одну сотню строк, так что особой выгоды не будет. Спасибо что образумили :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 13:29 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
Skye, еще очень хорошо повлияет на быстродействие обработка данных ячеек не напрямую в ячейках, а в памяти. Для этого как правило массивы используются. Но здесь надо понимать суть кода и конечную цель. Если необходимо изменять значения ячеек в каждый проход цикла, то выгоды никакой не будет. Если же есть возможность занести все данные в массив, обработать циклами данные этого массива и так же единым махом вернуть на листы - то можно будет может в разы, а то и десятки раз сократить время выполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 13:56 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
И все же с меня просят не просто ускорить его, а переделать... так что нужна помощь в том, как все это дело компактненько написать без нескольких прогонов по одним и тем же страницам, возможно с помощью Массивов, как сказали выше... Пипл, выручайте, ибо в VB я совершенно не спец(( ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 15:09 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
Skye, Если в VB не спец - почему просят именно Вас? И выручайте в чем выражается - за Вас переписать код? Как-то это...Неправильно. Оно Вам надо - хотя бы что-то начните делать, пробуйте, оптимизируйте. Советов Вам Shocker.Pro надавал достаточно. За всех говорить не буду - я подобным альтруизмом не страдаю. Может быть у кого-то будет желание потренироваться на Вашем коде, но не у меня точно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 15:53 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
The_Prist, я не прошу переписывать его за меня, но от примеров как это сделать я бы не отказался. Или пару примеров как это примерно должно выглядит. И попросили меня это сделать в качестве практики, что бы я научился. Она подходит к концу и у меня не шибко много времени что бы читать все чуть ли не с нуля...потому мне и нужны дельные советы или пара примеров что бы понимать что к чему. И да, практика и переписывания чужого кода для меня эффективней, нежели штурм форумов и чтение учебников. Если уж учить то на реальном, рабочем примере, а учебники потом, когда время будет) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 17:00 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
SkyeИ да, практика и переписывания чужого кода для меня эффективней, нежели штурм форумов и чтение учебников. Если уж учить то на реальном, рабочем примере, а учебники потом, когда время будет)бред ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 18:19 |
|
Помогите в упрощении кода
|
|||
---|---|---|---|
#18+
SkyeИ попросили меня это сделать в качестве практики, что бы я научилсявообще, очень оригинально, вас просят научиться, а вы пытаете переложить задачу на тех, кто умеет, чтобы сделали за вас. Учитесь, кто мешает? Будут вопросы - ответим. Оптимизация - вещь тонкая, она основывается на опыте и знаниях, а не на "учебники я потом читать буду может быть" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2014, 18:25 |
|
|
start [/forum/search_topic.php?author=wegwerg&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 20ms |
total: | 190ms |
0 / 0 |