Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
например сколько "стоит" такой код? (На взгляд специалиста по MSSQL :-) ) Код: plaintext 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. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 05:49 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Код cache и эстетичность находятся в разных измерениях... Им не суждено встретиться... Никогда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 06:18 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
non-alexandroКод cache и эстетичность находятся в разных измерениях... Им не суждено встретиться... Никогда... Позвольте полюбопытствовать, как вы это поняли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 06:24 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Привет. Для меня основной критерий оценки чужого кода - код хороший, если я могу легко понять, чего там написано и как оно работает. Второй критерий - можно ли это написать лучше. Для кода, который пишется в нашей компании, к этому прибавляется соответствие корпоративному стандарту на код. И если с понятностью кода тут все хорошо, улучшить можно довольно многое )) 1. Если все равно работаем с классами, нафига еще использовать программы? 2. Зачем ходить по oddCOM напрямую, когда есть для этого интерсистемовские макросы? > x "d ##class("_class_").%BuildIndices(,1)" Давно уже есть $zobjclassmethod; возвращаемое методом значение нужно проверять. Перед построением индексов нужно удалить старые через %PurgeIndices(). > s:indexLength=4 flagOK=$d(@indexStorage@(index,fieldValue(1),fieldValue(2),fieldValue(3),fieldValue(4),id)) не лучший образец кода, однозначно )) > w " /строим базовую часть" Желательно, чтобы у системных утилит был режим "тихого" выполнения, с возвратом результатов через переменную и %Status > g skipRecord Про goto внутри цикла все знают, да )) И вообще, while для обхода глобали или курсора это зло. Лучше обходить через for, тогда такие извращения не потребуются. > s res=$lb(count,countMissIndex) у таких методов лучше возвращать нормальный %Status, а результирующие переменные возвращать по ссылке > openFile(file) > {q:file=*0* > c file o file:"NW":*1* > w:'$test "Файл ",file," не открыт" > u:$test file > } Тоже вместо нормальной обработки ошибок через try\catch или status непонятно что. Этим, кстати, грешат и почти все "старые" консольные утилиты Интерсистемс. Любви. =Сергей Шутов ООО Димас, Хабаровск Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 06:28 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
logist, раз пошла такая пьянка про вторую программу - задача была в том, чтобы проверить корректность индексов без удаления текущих (ибо иногда это означает выведение из строя сервера надолго, а также не дает ответа - были ли ошибки в структуре индексов). BuildIndices и PurgeIndices не подходят. >1. Если все равно работаем с классами, нафига еще использовать программы? Работаем с глобалами.Класс чтоли подразумевает единство какое-то данных и методов. Если программа работает сама по себе, то зачем ее пихать в класс? Получим то же извращение, что и в яве. >2. Зачем ходить по oddCOM напрямую, когда есть для этого интерсистемовские макросы? Какие? Мне проще самому разобрать oddCOM, чем найти что-то в документации. goto в моем случае оправдан, если бы это был однозначно зловредный оператор, его исключили бы из языка. try catch кажется в каше 5.2 еше нет, поэтому и "грешат" этим старые утилиты :-))) >> w " /строим базовую часть" >Желательно, чтобы у системных утилит был режим "тихого" выполнения В моем случае нужно как раз сообщение о том, в каком месте была ошибка в индексе. Возраты статуса не нужны, программа не предназначена для автоматического запуска, нужен вывод в файл/терминал. -------------------------------------------------------------- nonalexandro - я как-то посмотрел в форуме код на оракле, чуть не вырвало, да :-) PS А еще программирование на каше для меня скорее хобби, чем обязанность ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 07:12 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
А, ну еще программа брошена недописанной по принципу - ну у меня работает и ладно. Что видно по методу normalizeData ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 07:14 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
non-alexandroСтранно что вообще 50т.р. предложили.... Покажи свой. Будет на кого равняться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 08:09 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Блок А.Н. , если бы ты работал в моем отделе - переписывал бы код однозначно. Т.ч. все это очень спорно... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 08:11 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Ivan.Kokov non-alexandroКод cache и эстетичность находятся в разных измерениях... Им не суждено встретиться... Никогда... Позвольте полюбопытствовать, как вы это поняли? По собственным эстетическим принципам. Разным мужчинам нравятся различные типы женщин. COS - не для меня, уж очень угловато и неотёсанно... Ну это конечно оффтоп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 08:17 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
non-alexandroCOS - не для меня, уж очень угловато и неотёсанно... Что "не для тебя" это ладно... Но про "угловат" и "неотесан" это посмешило... На других языках буквы наверное смотрятся круглее и глаже? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 08:20 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
krvsa non-alexandroCOS - не для меня, уж очень угловато и неотёсанно... Что "не для тебя" это ладно... Но про "угловат" и "неотесан" это посмешило... На других языках буквы наверное смотрятся круглее и глаже? У языка есть понятие выразительность. Для меня код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. При этом язык, на котором написан код, мне практически не известен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 08:34 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
logist спасибо за $ZOBJCLASSMETHOD, я не знал, что так можно, действительно красивее. Код: plaintext 1. 2. Впрочем, я ни на что не претендую, просто код предложил для примера, что однозначно оценить программиста по коду нельзя, тем более для ведущего на мой взгляд требуется немного большее, чем просто умение программировать. ---------- nonalexandro мне кажется я пишу в стиле ближе к С и кажется довольно читаемо (форматирование поехало конечно) Я видел коды написанные практически в стиле Int-рутин классов, вот это жесть. А вообще язык это набор операторов - кирпичей. А чего и как вы из них построить - зависит от тех, кто строит :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 08:37 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
авторПри этом язык, на котором написан код, мне практически не известен. :-) А вот меня VisualBasiс раздражает просто. Жидкий кисель, употреблять невозможно, то что можно написать одной строкой - надо писать пятью. Тем более начинаешь писать - просто раздражает своими выкидонами. (Использовал в экселе - редактор атас, строку большую ему не сделай, оператор недописал и перешел на другую строку - вопит об ошибке, просто подсветить то не судьба) Так что видимо каждому свое :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 08:45 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
krvsa Код: plaintext В таких боях я гораздо чаще выигрываю, чем проигрываю. А как бы вы например написали, то есть что по вашему не так в моем коде? / Какая-то большая стирка :-) Но думаю, в любом случае от этого польза будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 08:50 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.А вот меня VisualBasiс раздражает просто... Так что видимо каждому свое :-) Как я вас понимаю (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 08:54 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.А как бы вы например написали, то есть что по вашему не так в моем коде? Я только про стилистику... Например про вот этот кусок: Код: plaintext 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. Код: plaintext - Операторные скобки открываю в той же строке, что и оператор, а закрываю на уровне с оператором. Примеры: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 09:49 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
если записать ^oddCOM(class,"s","Default","D") в переменную, а потом работать с переменной, то теряется прозрачность кода, хуже видно, что же мы на самом деле обращаемся. Мой код несмотря на громоздкость будет читаться лучше. автор- Операторные скобки открываю в той же строке, что и оператор, а закрываю на уровне с оператором. Руки с корнем за такое вырывать. Непонятно кто это придумал, но по ощущению код становится намного хуже читаемым. Особенно это применительно к каше, где в версии 4.1 при экспорте-импорте удалялись отступы и код каше превращался в нечитаемую кашу. авторМногострочные "куски" разбил бы на процедуры или функции. Механическое разбиение только по признаку объемности - зло еще большее, чем все лепить в одну кучу, в итоге программа становится еще запутанней. Есть контекст, в рамках которого выполняются действия, этот контекст нужен для всех этих действий. Если этот контекст механически таскать из функции в функцию (из-за неверного дробления), то теряется прозрачность, непонятно что откуда берется. Так что если алгоритм именно логически не получилось разделить на части, механическое дробление его на несколько функций противопоказано. В моем случае алгоритм я не вижу, как разделить алгоритм на независимые части, да и объемность его только кажущаяся. Если присмотреться, то очень большой объем занимает инициализация переменных и пухлые куски кода типа Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 12:31 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Блок А.Н. , вот видиш какие у нас "непримиримости". ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 12:50 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Да я за скобки кого хошь покусаю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 12:52 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
non-alexandroКод cache и эстетичность находятся в разных измерениях... Им не суждено встретиться... Никогда... Не, в редакторе каше бывает вполне симпатично. А вот на сайте да.... Страшненько. Тем более вам синтаксис непривычен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 12:56 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Блок А.Н. Не, в редакторе каше бывает вполне симпатично. А вот на сайте да.... Страшненько. Тем более вам синтаксис непривычен. С кашой работал несколько месяцев, в компании здешних завсегдатаев (кстати, привет!). К синтаксису действительно сложно привыкнуть - очень много рудиментальных вещей, тянущихся со времен, когда компы были слабыми и беспомощными :) Обязательные set do и т.п. в начале вызова метода/установке значения переменной. Если не следить, очень просто написать программу, которую никто не поймет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 16:10 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.если записать ^oddCOM(class,"s","Default","D") в переменную, а потом работать с переменной, то теряется прозрачность кода, хуже видно, что же мы на самом деле обращаемся. Мой код несмотря на громоздкость будет читаться лучше. А если переменной дать вполне осмысленное имя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 18:55 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Как вариант я бы написал так (писал не вдаваясь в подробности оптимизации): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Или такой вариант (мне он больше нравится): Код: plaintext 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. Мне кажется, что так более эстетично и читабельно... А про операторы - язык такой, какой он есть! Другого не дано.. :) ЗЫ: Для макросов подключаем инки: #Include %systemInclude ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 06:37 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Да, с макросами пожалуй лучше. Только где найти документацию про макросы? Без знания макросов даже читать готовый код с ними читать тяжелее. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 07:18 |
|
||
|
требуется Ведущий разработчик Cache (Москва)
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Только где найти документацию про макросы? Мне как-то Жохов Николай присылал. Но у меня недавно диск погорел... И все, что нажито непомерным трудом... Все же погибло! (с) к/ф Иван Васильевич меняет профессию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 08:12 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35421945&tid=1558797]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
59ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 397ms |

| 0 / 0 |
