|
|
|
покритикуйте пожалуйста
|
|||
|---|---|---|---|
|
#18+
Рядом конечно уже есть моя тема, где ведётся подобное обсуждение. Но там как-то много слов получилось. А сейчас уже вроде есть более-менее полноценный код, вот именно его я и хотел бы обсудить. Итак, идея была в реализации простого наследования в js, проверки аргументов функций на валидность (жёсткая типизация), а как следствие возможность реализации перегрузки методов. Основной упор делался на последнее, так как этого мне больше всего не хватает в js. Итак, добился работоспособности такого кода: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Основной вопрос, кто считает это удобным, кто не считает таковым... Если не удобно, то почему и как бы сделать лучше (не отходя от стандартного синтаксиса js, что бы проверка синтаксиса привычной IDE не заканчивалось провалом)? А вот сама реализация (может по ней будут какие-то дополнения, пока не комментировал ничего, уже просто спать немного охота, завтра буду облагораживать код): Код: javascript 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. Всем заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 23:23 |
|
||
|
покритикуйте пожалуйста
|
|||
|---|---|---|---|
|
#18+
Еще один велосипед? Чтобы критиковать, нужно знать исходные цели, которых стремились достичь. Как уже отмечали, для более "удобной" работы с "объектами можно использовать фреймворки. Например, ExtJS или YUI. Преимущества фреймворков в поддержке кода, своевременном исправлении ошибок, развитии функционала. А по существу, для домашней странички нормально, а для среднего/крупного проекта лучше взять фреймворков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2014, 00:55 |
|
||
|
покритикуйте пожалуйста
|
|||
|---|---|---|---|
|
#18+
Dmitry EliseevЕще один велосипед? Чтобы критиковать, нужно знать исходные цели, которых стремились достичь. Как уже отмечали, для более "удобной" работы с "объектами можно использовать фреймворки. Например, ExtJS или YUI. Преимущества фреймворков в поддержке кода, своевременном исправлении ошибок, развитии функционала. А по существу, для домашней странички нормально, а для среднего/крупного проекта лучше взять фреймворков. По-моему мы про разное ). Используя ExtJS или YUI можно написать полноценную логику, приложение со сложной структурой? Насколько я понимаю из их описания и из примеров кодов, эти фреймворки, как и jQuery и другие на js, заточены под удобное управление элементами страницы. То есть они все заточены на работу с DOM и расширяют в основном только этот функционал. Я же пытаюсь расширить функционал js на базовом уровне, а не на уровне работы с DOM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2014, 11:49 |
|
||
|
покритикуйте пожалуйста
|
|||
|---|---|---|---|
|
#18+
ПрограмёрИспользуя ExtJS или YUI можно написать полноценную логику, приложение со сложной структурой? Насколько я понимаю из их описания и из примеров кодов, эти фреймворки, как и jQuery и другие на js, заточены под удобное управление элементами страницы. То есть они все заточены на работу с DOM и расширяют в основном только этот функционал.Вообще-то 95% js-кода (я исключаю wsh и новомодный серверный js типа node) в конечном итоге с dom и работает. Результат работы js нужно как-то отобразить, чтобы гуманоид за монитором мог его обозреть, и это "как-то" и есть браузер с dom. Сферическое программирование в вакууме, а особенно на js, мало кому интересно. Что касается ExtJS, то на нем можно написать приложение со сложной структурой, не опускаясь до уровня dom. All inclusive. Да что я мелочусь, даже вообще dom не используя, чисто в сферических целях. Вот где было бы раздолье для ООП, если бы в ExtJS не было более удобного механизма: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Само собой, объекты, помимо определенных разработчиком полей, будут содержать служебные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2014, 12:29 |
|
||
|
покритикуйте пожалуйста
|
|||
|---|---|---|---|
|
#18+
В YUI будет чуть богаче функционал Код: sql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2014, 13:18 |
|
||
|
покритикуйте пожалуйста
|
|||
|---|---|---|---|
|
#18+
Dmitry EliseevВ YUI будет чуть богаче функционалОн ориентирован на разработку в многочисленной команде от пары десятков человек, где разные группы людей отвечают за разные участки кода, и одна должна стучать по пальцам другой, если та внезапно делает что-то не то. Иначе я не вижу смысла в статических и виртуальных методах и подобной писанине: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. Если при этом нельзя сделать краткую запись legs:2, то это вообще ахтунг. Да и реализация этого богатого функционала отнюдь не впечатляет, jquery какое-то: Код: javascript 1. Ну фу же по сравнению с a1.legs. Код: javascript 1. Единственный выигрыш в удобстве, если сравнивать с Ext.сreate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2014, 14:22 |
|
||
|
покритикуйте пожалуйста
|
|||
|---|---|---|---|
|
#18+
можно не описывать свойства, а просто передать в конструктор { legs:2 } и будет создано такое свойство. Выражение Код: sql 1. используется потому, что чаще всего требуется чтобы свойство было определённого типа (или принимало определённые значения), поэтому у свойства можно задать начальное значение, геттер/сеттер, валидатор, указать что свойство 'readonly' или 'writeOnce' Впрочем, можно написать и так: Код: sql 1. 2. 3. И да, все эти ООП-расширизмы особенно нужны становятся когда ведётся разработка командой большого проекта. Иначе можно обойтись без объектов. Кстати ещё одна интересная вещь - интерфейсы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2014, 14:59 |
|
||
|
|

start [/forum/search_topic.php?author=STRELETS12&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
158ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 429ms |
| total: | 687ms |

| 0 / 0 |
