|
|
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь использует subj в проектах? Спрашиваю вот почему: очень понравилась библиотека, особенно в кассу зашли Nullable типы. Но Delphi (Rio) перманентно падает, буквально каждый третий-четвертый запуск приложения в отладочном режиме. До использования Spring такого не замечалось. У кого-то есть похожие симптомы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2020, 23:07 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов, Возможно, я немного не в тему, но просто интересно, - давно ли сторонние библиотеки могут вводить в язык новые типы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2020, 23:16 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Vlad F Сергей Фролов, Возможно, я немного не в тему, но просто интересно, - давно ли сторонние библиотеки могут вводить в язык новые типы? Не, в спринг просто определен как Nullable<T> = record. У этой записи есть методы типа HasValue, GetValueOrDefault и т.д. Обычный дженерик :-) Но полезный, когда нужно использовать не только значение, но и факт наличия значения. По библиотеке целом - плюсы у нее есть. Самый главный - это легкая возможность создания программ с помощью шаблонов проектирования. "легкость" - понятие конечно относительное, у каждого своя оценка, но sping реально берет на себя кучу чернового кода. И достаточно стабильно работает, падений именно из за spring в наших проектах вроде как не наблюдается (в частности в Rio). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 00:46 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
По nullable понятно, но покажите еще пример "фишечек" в этом спринге, которых у других нет, если не в лом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 01:35 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat, ioc + di - только за это он уже хорош ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 01:59 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Vlad F Возможно, я немного не в тему, но просто интересно, - давно ли сторонние библиотеки могут вводить в язык новые типы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 03:36 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
А библиотека безусловно хорошая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 03:37 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
white_nigger> А библиотека безусловно хорошая Вы используете где-нибудь ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 14:11 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
white_nigger Шта? С времен Никлауса Вирта. И что, в TP7 можно добавить Int128 и оперировать переменными А := В + С;? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 14:49 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
LocksmithPC, Int128 = record A,B,C,D : integer; end; А вот оператор оверлоадинга там нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 15:11 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat, record ни секундочки не новый тип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 15:21 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
LocksmithPC, А что ты считаешь "новым" типом или вообще "типом"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 15:42 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat LocksmithPC, А что ты считаешь "новым" типом или вообще "типом"? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Ну, вот как-то так, фигурально выражаясь. И это бы в 95-м году :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 16:03 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Строго говоря все что юзер пишет в секции type и есть новые типы (за исключением алиасов). А какие конкретно действия с ними можно проводить из коробки - дело десятое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 21:24 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat Int128 = record A,B,C,D : integer; end; Малавата - в BP7 integer был 16 бит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 22:26 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Polesov, От блин. Склероз! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2020, 22:30 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов Кто-нибудь использует subj в проектах? Спрашиваю вот почему: очень понравилась библиотека, особенно в кассу зашли Nullable типы. Но Delphi (Rio) перманентно падает, буквально каждый третий-четвертый запуск приложения в отладочном режиме. До использования Spring такого не замечалось. У кого-то есть похожие симптомы? сама библиотека так же раскоряжена я бы не стал использовать сее творение, очень она какая-то с душком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 00:24 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
asutp2 в спринг просто определен как Nullable<T> = record. У этой записи есть методы типа HasValue, GetValueOrDefault и т.д. Обычный дженерик Создай свой. Я тоже когда-то, когда был молод и глуп, пихал в среду разные библиотеки а-ля Jedi ради пары функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 08:42 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) uses блоков в implements нет? А как это может быть связано? kealon(Ruslan) сама библиотека так же раскоряжена Что, прости? kealon(Ruslan) я бы не стал использовать сее творение, очень она какая-то с душком Мы ж тут вроде не филологи, а инженеры, такие аргументы не прокатят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 09:37 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
X11 Я тоже когда-то, когда был молод и глуп, пихал в среду разные библиотеки а-ля Jedi ради пары функций. Джеди всегда была помойкой, справедливости ради ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 09:41 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов kealon(Ruslan) uses блоков в implements нет? А как это может быть связано? kealon(Ruslan) сама библиотека так же раскоряжена Что, прости? kealon(Ruslan) я бы не стал использовать сее творение, очень она какая-то с душком Мы ж тут вроде не филологи, а инженеры, такие аргументы не прокатят 3. 1- она уже морально устарела как вышла. (т.е. 4 года назад) 2 - контейнеры ещё ничего так, подёргать можно, но качество алгоритмов посредственное 3 - блок Core вообще туфта. Рефлексия в дельфи это ужас и боль, вся эта "куча" легко заменяется парочкой генериков эта либа не решает никаких задач, кроме адаптации бывших явистов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 13:34 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) Вот потому от этого и надо избавляться, и тем более этого не долно быть в библиотеках. Чего-чего? Можно тезисно, по пунктам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 15:05 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) 2 - контейнеры ещё ничего так, подёргать можно, но качество алгоритмов посредственное 3 - блок Core вообще туфта. Рефлексия в дельфи это ужас и боль, вся эта "куча" легко заменяется парочкой генериков /popcorn ждем примеров кода с пояснениями и цифрами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 15:57 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), видимо у тебя что то личное, раз ты так негативно к либе относишься :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 16:05 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Я вот тоже со скепсисом к ней отношусь, но бы хотел послушать описние вкуса устриц от тех кто их ел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 16:26 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat, Если вы разрабатываете приложение командой Если у вас применяется многослойная архитектура приложения, например по аналогии с CleanArchitecture Если вы покрываете все модульными тестами То применение IoC позволит вам более гибче реагировать на изменения в проекте, а также поддерживать модульные тесты... К примеру в asp .net core идет из коробки собственная реализация IoC и реализовывать все заложенные абстракции можно только через него, что очень удобно... Описал в одном месте все зависимости, а в классах пишешь только то, что эти классы должны делать согласно принципам SOLID... Весь код модульный и легко изучаемый... Каждый новый миньон на проекте не будет погружаться в тонны лапши, а изучив архитектуру приложения, поймет, что если надо реализовать такую абстракцию, то делаем так.. Если надо другую абстракцию, то делаем так... Самая большая проблема в том, что Delphi - это RAD... Но какой-то кустарный и мягко говоря не расширяемый... Поэтому применение современных мировых практик очень плохо накладываются на него.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 18:23 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
X-Cite реализация IoC <..> согласно принципам SOLID <..> если надо реализовать такую абстракцию, то делаем так.. Если надо другую абстракцию, то делаем так... А можно по простому, для тех кто в танке? Простейший пример кода бы объяснил больше чем страницы абстрактной теории. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 18:36 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat Простейший пример кода бы объяснил больше чем страницы абстрактной теории. Процедурные типы и классовые ссылки. Фсё. Это тебе сразу и инъекции зависимостей и инверсия управления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 18:45 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
В общем опять мне "в гугль" послали. :) Я конечно все понимаю, но когда "простейший" пример - это проект из десятка файлов - то: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 19:06 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Этот фреймворк не предназначен для простейших приложений... Вы для приложения сначала проектируете архитектуру, выделяете все абстракции, взаимосвязи между ними.. Затем в одном месте по сути описываете реализации абстракций - профит... Каждый класс - имеет одну и только одну причину для изменений Тестировать такие классы одно удовольствие.. Изменение внутренней реализации таких классов не сломает другие, и не сломает другую логику... Этот фреймворк позволяет автоматически резолвить (в конструктор, поле, метод) зависимости классов (абстракций) из заранее зарегистрированных реализаций. Для юниттестов удобно делать моки классов по работе с бд, сервисами и прочими зависимостями, которые будут эмулировать работу, Тем самым не нужно для тестирования бизнес-логики разворачивать инфраструктуру... и т.д. Вообщем для тех кто пишет ПО кидая на форму компоненты и прямо там же код логики - это не подойдет... Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 19:35 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
X-Cite Этот фреймворк не предназначен для простейших приложений... Вы для приложения сначала проектируете архитектуру, выделяете все абстракции, взаимосвязи между ними.. Затем в одном месте по сути описываете реализации абстракций - профит... Каждый класс - имеет одну и только одну причину для изменений Тестировать такие классы одно удовольствие.. Изменение внутренней реализации таких классов не сломает другие, и не сломает другую логику... Этот фреймворк позволяет автоматически резолвить (в конструктор, поле, метод) зависимости классов (абстракций) из заранее зарегистрированных реализаций. Для юниттестов удобно делать моки классов по работе с бд, сервисами и прочими зависимостями, которые будут эмулировать работу, Тем самым не нужно для тестирования бизнес-логики разворачивать инфраструктуру... и т.д. Вообщем для тех кто пишет ПО кидая на форму компоненты и прямо там же код логики - это не подойдет... Код: pascal 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. Попробуйте Swap(A, B); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 19:39 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat, Вот пример оттуда в одном файле, если сложно воспринимать))) Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 19:44 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
X-Cite, но если что случись, ты утонешь в отладке всего того гумна, которое так написано X-CiteКаждый класс - имеет одну и только одну причину для измененийна собственном опыте могу сказать, что это очень сомнительное удовольствие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 20:22 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey kealon(Ruslan) Вот потому от этого и надо избавляться, и тем более этого не долно быть в библиотеках. Чего-чего? Можно тезисно, по пунктам? даже в гугл посылать как-то странно простой пример: есть ленивая функция создания объекта, соответственно в финализации подчищается инстант этого объекта если так намудрить с подключениями, то есть очень большой шанс, что функция сработает после финализации. Особенно это актуально когда через проект проходит толпа народа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 20:36 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), Я таки хочу это увидеть, и понять, наконец, о чём идёт речь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 21:00 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat А можно по простому, для тех кто в танке? Простейший пример кода бы объяснил больше чем страницы абстрактной теории. DMVCFramework пытается следовать всем этим современным практикам. Причём без фанатизма, что главное. Исходники открыты. Но да, читать придётся много. Но ты ж, думаю, и VCL когда-то по исходникам понимал (надеюсь), а не по обработчикам событий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 21:50 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) простой пример: есть ленивая функция создания объекта, соответственно в финализации подчищается инстант этого объекта если так намудрить с подключениями, то есть очень большой шанс, что функция сработает после финализации. Я правильно понял, есть инициализатор чего-то, который может вызываться после отработки секции finalization?!? Да тут вообще ничего не поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 21:53 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов, Речь, предполагаю, о циклических ссылках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2020, 22:10 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
X-Cite rgreat, Вот пример оттуда в одном файле, если сложно воспринимать))) Код: pascal 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. Зачем нужен GlobalContainer? Чем это лучше обычного TInterfacedObject? В чем преимущество такого подхода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 00:04 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Сергей Фролов, Речь, предполагаю, о циклических ссылках. я вроде русским языком как для особо одарённых написал авторuses блоков в implements нет? сама библиотека так же раскоряжена ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 00:05 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat А зачем такая простая задача решается так сложно? Чем это лучше обычного TInterfacedObject? В чем преимущество такого подхода? но в кулуарах они же говорят, что можно срубить с заказчика бабла за резгребание того, что получается таким методом :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 00:10 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat А зачем такая простая задача решается так сложно? Зачем нужен GlobalContainer? Чем это лучше обычного TInterfacedObject? В чем преимущество такого подхода? https://ru.wikipedia.org/wiki/Инверсия_управления https://ru.wikipedia.org/wiki/Внедрение_зависимости Если вы не понимаете что это и зачем это, значит вам оно не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 00:16 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
X-Cite, Т.е. примеров пользы не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 00:21 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) а о чём же ещё? я вроде русским языком как для особо одарённых написал Возможно, я недостаточно одарён, но я понял это как подключение модулей в части реализации, что есть обычная практика. На цикличность тут даже намёка нет. Хотя, возможно, цикличность ты обозначил раскоряженностью. Штош. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 00:28 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
X-Cite https://ru.wikipedia.org/wiki/Инверсия_управления https://ru.wikipedia.org/wiki/Внедрение_зависимости Если вы не понимаете что это и зачем это, значит вам оно не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 03:30 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
X-Cite Если вы не понимаете что это и зачем это, значит вам оно не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 04:18 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey kealon(Ruslan) а о чём же ещё? я вроде русским языком как для особо одарённых написал Возможно, я недостаточно одарён, но я понял это как подключение модулей в части реализации, что есть обычная практика. На цикличность тут даже намёка нет. Хотя, возможно, цикличность ты обозначил раскоряженностью. Штош. от себя ИМХО добавлю, что регистрация классов, тоже к этому относится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 08:53 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) вот я тебе и говорю, что это очень ***новая практика Я твои фантазии оспаривать не собираюсь, а о плюсах размещения модулей в части реализации написано в доке, кому интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 10:08 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, эти "фантазии", как ты говоришь, родились не на пустом месте и такой бедлам "очень дорого" обходится при сопровождении Исправление багов, вызваных такими фантазёрами, занимает, наверное, процентов 30 моего времени последние 5 лет. И всё потому, что это было модно 6 лет назад и фигачилось без разбору в любую дырку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 12:05 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) и такой бедлам "очень дорого" обходится при сопровождении Это споры уровня ООП vs процедурный стиль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 14:34 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов Это споры уровня ООП vs процедурный стиль. Нет, это уровень отрицания действительности и иррациональных страхов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:00 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов kealon(Ruslan) и такой бедлам "очень дорого" обходится при сопровождении Это споры уровня ООП vs процедурный стиль. в яве, например, такой вопрос просто не возникнет и я на своём опыте вижу как это плохо, но многие молодые задорные и не очень готовы есть кактус - что ж, каждому своё.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:14 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Нет, это уровень отрицания действительности и иррациональных страхов. Справедливости ради дженерики в Delphi как-то странно работают, когда их массово начинаешь употреблять... Скрин приложил. Тот код, который не отмечен синими точками, прекрасно компилируется и работает. Но отладчиком в него не зайдешь. Почему? Загадка... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:26 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов, может они объявлены как inline? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:42 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) причём полученный натуральным образом и зафиксированный в правилах кодинга компании на которую я работаю Обожглись горячим молоком (словили от циклических ссылок) и айда дуть на родниковую воду (запретили подключение любых модулей в секции реализаций). Ну молодцы, чо. Не выходи из комнаты, не совершай ошибку (с). Сергей Фролов Почему? Загадка... Нет никакой загадки, просто дженерики в дельфи - говно, как и среда разработки, впрочем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:44 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
X-Cite может они объявлены как inline? Нет, к сожалению не inline. Еще одну интересную штуку выявил на днях. Есть pas файл. Если запускать отладку, когда этот файл активен в редакторе, то среда при окончании отладки упадет. При запуске отладки с любым другим активным файлом проблем нет. Особенно интересно решилась эта проблема: этот файл из exe был перенесён в bpl. После этого отладка заработала нормально. Если файл вернуть обратно в exe, то все начинается заново. Вот такая мистика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:45 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Нет никакой загадки, просто дженерики в дельфи - говно, как и среда разработки, впрочем. Альтернатива Java или .NET? На что можно быстро (относительно) перевести проект, в который вложено 15 человеко-лет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:48 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
X-Cite может они объявлены как inline? Дженерики не инлайнятся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:48 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов Альтернатива Java или .NET? На что можно быстро (относительно) перевести проект, в который вложено 15 человеко-лет? Если быстро, то FPC + Lazarus. Я серьёзно. Там не всё идеально, но другой альтернативы нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 15:56 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Если быстро, то FPC + Lazarus. Сдается мне, что лучшее все-таки что-то другое выбирать. И писать проект заново. Под веб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 16:30 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов X-Cite может они объявлены как inline? Нет, к сожалению не inline. Еще одну интересную штуку выявил на днях. Есть pas файл. Если запускать отладку, когда этот файл активен в редакторе, то среда при окончании отладки упадет. При запуске отладки с любым другим активным файлом проблем нет. Особенно интересно решилась эта проблема: этот файл из exe был перенесён в bpl. После этого отладка заработала нормально. Если файл вернуть обратно в exe, то все начинается заново. Вот такая мистика. закрой сам файл, и если не попадёшь туда отладчиком всё будет работать нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 16:34 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов Сдается мне, что лучшее все-таки что-то другое выбирать. И писать проект заново. Под веб. А когда мода изменится переписать ещё раз! Да! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 16:45 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) закрой сам файл, и если не попадёшь туда отладчиком всё будет работать нормально Я ж так и написал, что все работает, но отладчиком зайти не могу. :) Отладчик при попытке вызова выделенных методов по F7 вообще в какое-то странное место переходит... В середину другого метода в другом модуле... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 16:55 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey А когда мода изменится переписать ещё раз! Да! Вот это меня, признаться, тоже беспокоит. Но работать с такой IDE просто нереально. Ну, или, не использовать современные возможности, а пользоваться уровнем D7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 16:57 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов Вот это меня, признаться, тоже беспокоит. Но работать с такой IDE просто нереально. Ну, или, не использовать современные возможности, а пользоваться уровнем D7. И все наладится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 17:03 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов Но работать с такой IDE просто нереально. Есть вероятность, что скоро всё начнёт меняться к лучшему и перемены будут видны уже в 10.4 ;) Кстати говоря, в лазаре с иде всё сильно лучше, уж в редакторе точно (за отладчик его пинают, но лично меня это не напрягает). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 17:07 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) Kazantsev Alexey, эти "фантазии", как ты говоришь, родились не на пустом месте и такой бедлам "очень дорого" обходится при сопровождении Исправление багов, вызваных такими фантазёрами, занимает, наверное, процентов 30 моего времени последние 5 лет. И всё потому, что это было модно 6 лет назад и фигачилось без разбору в любую дырку. В проектах, где я работал и работаю, используется правило: 1. в интерфейсной части описываются модули, которые нужны для определения констант/типов/классов/т.д. в интерфейсной части; 2. все остальные необходимые модули описываются в части реализации. В чем неправильность такого подхода? Почему такое решение обходится "дорого" при сопровождении? Оно правильнее, чем пихать всё подряд в одно место), т.е. в интерфейсную часть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 17:07 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
rgreat Надо не усложнять то что можно сделать просто. Да я вот и хотел сделать просто, чтобы не было кочующих по классам переменных... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 17:40 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Есть вероятность, что скоро всё начнёт меняться к лучшему и перемены будут видны уже в 10.4 ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 17:42 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов Да я вот и хотел сделать просто, чтобы не было кочующих по классам переменных... У нас с тобой разное понимание того что значит "просто". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 17:44 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов Откуда такой инсайд? Это не инсайд, просто в роадмапе правильные вещи написаны. С этим релизом придёт поддержка LSP, что, наконец, должно избавить среду от нескольких парсеров кода. Это должно положительно сказаться на работе инсайтов, фолдинге и в целом ускорить работу кодтулов. Далее, на апдейты намечена работа по объединению нескольких отладчиков и фокусировка на LLDB. Сергей Фролов Хочу, кстати, FGX Native посмотреть, но руки не доходят. Кто-нибудь уже это сделал? Я триалку покрутил. Защита триала никакущая :) Дизайнеры симпатичные. На устройстве не пробовал. Имей ввиду, что библиотека поставляется с неполными исходниками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 18:14 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Кстати говоря, в лазаре с иде всё сильно лучше, уж в редакторе точно (за отладчик его пинают, но лично меня это не напрягает). подозреваю, что из-за "древности" gdb, что идет в комплекте с компилятором от 2017г. зы. простите, что я все опять свел к бабам Лазарю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 18:49 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Док, Они сейчас тоже к LLDB идут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 19:17 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Они сейчас тоже к LLDB идут. если я правильно улавливаю общую тенденцию, то все разговоры об этом ведутся пока практически это реализовано только применительно к макоси ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 19:29 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Док, Да, так и есть, похоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 20:44 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey в роадмапе правильные вещи написаны. С этим релизом придёт поддержка LSP, что, наконец, должно избавить среду от нескольких парсеров кода. Это должно положительно сказаться на работе инсайтов, фолдинге и в целом ускорить работу кодтулов. Далее, на апдейты намечена работа по объединению нескольких отладчиков и фокусировка на LLDB. Скрещу пальцы на всякий случай ;) Kazantsev Alexey Имей ввиду, что библиотека поставляется с неполными исходниками. Это я в курсе. Ярослав пытается пойти по пути турка с его оберткой над ExtJs. Может и взлетит. Но лично я, например, без 100% исходников покупать не буду, это даже не обсуждается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 20:54 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
asutp2 Если честно, твоя точка зрения непонятна . В проектах, где я работал и работаю, используется правило: 1. в интерфейсной части описываются модули, которые нужны для определения констант/типов/классов/т.д. в интерфейсной части; 2. все остальные необходимые модули описываются в части реализации. В чем неправильность такого подхода? Почему такое решение обходится "дорого" при сопровождении? Оно правильнее, чем пихать всё подряд в одно место), т.е. в интерфейсную часть Есть модуль агрегатор - AUnit, цепляешь его, регистрируешь свой класс и он добавляет какой-то функционал в общее приложение в нём реализована функция создания и в финализации подчищение всего, что он создал Можно модули по выбору цеплять, модуль сам себя зарегал функционал добавил - вообще замечательно, всё пашет как задумано, класс!!! Добавил ты модуль с хитрой библиотекой, которую ведет соседний отдел - попросили что бы был функционал из неё. Не вопрос, добавили, всё работает, плывём дальше. а теперь овраги: В сосоеднем отделе решили, что скорости у либы не хватает и добавили статичный хеш, ну где ж его убивать - конеш в финализации Закинули либу, твоя прога собралась на билд машине (интерфейс то у неё тот же, обратная совместимость наше всё), и прога ушла в массы. И тут ты начинаешь получать кучу багов с непонятными стеками.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 21:28 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) Добавил ты модуль с хитрой библиотекой, которую ведет соседний отдел - попросили что бы был функционал из неё. а теперь овраги: В сосоеднем отделе решили, что скорости у либы не хватает и добавили статичный хеш, ну где ж его убивать - конеш в финализации Закинули либу, твоя прога собралась на билд машине (интерфейс то у неё тот же, обратная совместимость наше всё), и прога ушла в массы. И тут ты начинаешь получать кучу багов с непонятными стеками.... Немного не понял причину и следствие. Если твой волшебный AUnit управляет временем жизни создаваемых объектов, то какое отношение к этому имеет кэш, который убивается в секции finalization того модуля, который ты подключил? Кэш же, если модуль нормально написано, ничего не должен знать ни про какие инстансы вызывающей его либы? Если это не так, то твои коллеги из соседнего отдела просто дебилы и никакого отношения к описываемым тобой страхам это не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2020, 21:55 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов, коллеги точно не дебилы, у них всё чики-пуки полное соблюденние интерфейса придумывай другие варианты, почему валится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2020, 00:03 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) придумывай другие варианты, почему валится У тебя есть хотя бы одна причина, почему я должен это делать? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2020, 00:10 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Сергей Фролов, а "понять где слабые подходы данного применения" разве не хороший мотив? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2020, 08:38 |
|
||
|
Spring4D
|
|||
|---|---|---|---|
|
#18+
Может кто подскажет, есть ли возможность запретить использование конструкторов из предков, если есть конструктор в наследнике, но при этом зависимости не зарегистрированы? Чтобы выдавало какой-нибудь error. А не использовало конструктор с зарегистрированными зависимостями или из TObject. При этом не определять конструктор без параметров в наследнике с exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2020, 15:15 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2037744]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
108ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 441ms |

| 0 / 0 |
