|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
LRТ.е., для каждого класса свой файл-исходник?даже для интерфейса с одним членом ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 23:37 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
LR, Для нетленного "hello world" м.б. А когда у тебя в проекте одного шарпа почти 200 тыс. строк кода, то как-то сколько у тебя там файлов - тысяча или три особой разницы уже не имеет и лучше просто тупо следовать правилу - один интерфейс/класс/enum - один файл. По крайней мере при этом не заморачиваешь голову тем в какой файл что поместить. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 23:59 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
Не забудем также и про source control ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 00:03 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
LRТ.е., для каждого класса свой файл-исходник? это хорошая практика. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 12:51 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
Roust_mДобрый день, Помогите чайнику. Есть такой класс: XeroExport.cs. В нем очень много кода. Он выглядит примерно так: Код: c# 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.
Я хочу методы Call_BalanceSheet и Insert_BalanceSheet вынести в отдельный класс: BalanceSheet.cs: Код: c# 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.
После того как я это делаю, XeroExport.cs не находит Call_BalanceSheet, BalanceSheet.cs не находит CheckReportStatus и Api. Как сделать так, чтобы они видели методы друг друга? Не ругайте сильно, опыта программирования у меня не много. Спасибо. добавлю свои 5 коп, так, чисто. набирайся опыта. декомпозиция задачи на подзадачи это победа над сложностью. она начинается в осмыслении задачи. а что дробить - постройку моста, копку огорода, или "класс" - это дело техники ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 18:00 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
fkthatLR, Для нетленного "hello world" м.б. А когда у тебя в проекте одного шарпа почти 200 тыс. строк кода, то как-то сколько у тебя там файлов - тысяча или три особой разницы уже не имеет и лучше просто тупо следовать правилу - один интерфейс/класс/enum - один файл. По крайней мере при этом не заморачиваешь голову тем в какой файл что поместить. И чем же "лучше просто тупо следовать правилу - один интерфейс/класс/enum - один файл"? Потому что какой-нить условный Фаулер сформулировал такое правило в условном 2000-м году? И с тех пор в условной девелоперской конторе существует это правило с перефразировкой для высших руководителей "это оптимально при высокой текучести кадров/кодеров". Правила создают люди. Правила меняются, когда изменяются обстоятельства/возможности, но только если люди не "тупо им следуют". Предлагаю правило: один "use case"/"предметный функционал"/"инфо-кластер" - один файл - чем плохое правило?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 22:33 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
LR, Да мне пох - напихай хоть вообще все в один файл. Чем больше пионэры наговнокодят, тем больше мне потом возможностей бабла срубить - я это еще лет 10 назад понял :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2019, 01:40 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
LRИ чем же "лучше просто тупо следовать правилу - один интерфейс/класс/enum - один файл"? Потому что какой-нить условный Фаулер сформулировал такое правило в условном 2000-м году? Правила формулируются на основе совокупного опыта. Если вы не знаете или не понимаете чего-то, это вовсе не значит, что смысла в этом нет. LRПравила создают люди. Правила меняются, когда изменяются обстоятельства/возможности, но только если люди не "тупо им следуют". Предлагаю правило: один "use case"/"предметный функционал"/"инфо-кластер" - один файл - чем плохое правило?))) Эволюция происходит в процессе накопления опыта. Правила как создаются, так и меняются на основе систематизации такого опыта. Никто же не виноват, что это у вас всё с потолка берётся, и вы поэтому так к этому относитесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2019, 02:14 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
hVosttLRИ чем же "лучше просто тупо следовать правилу - один интерфейс/класс/enum - один файл"? Потому что какой-нить условный Фаулер сформулировал такое правило в условном 2000-м году? Правила формулируются на основе совокупного опыта. Если вы не знаете или не понимаете чего-то, это вовсе не значит, что смысла в этом нет. LRПравила создают люди. Правила меняются, когда изменяются обстоятельства/возможности, но только если люди не "тупо им следуют". Предлагаю правило: один "use case"/"предметный функционал"/"инфо-кластер" - один файл - чем плохое правило?))) Эволюция происходит в процессе накопления опыта. Правила как создаются, так и меняются на основе систематизации такого опыта. Никто же не виноват, что это у вас всё с потолка берётся, и вы поэтому так к этому относитесь. хвост, твоим постам немного уменьшить желчи. ты опытный разраб, без сомнения, но желчный какой-то, злой ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2019, 16:26 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
love_bachхвост, твоим постам немного уменьшить желчи. ты опытный разраб, без сомнения, но желчный какой-то, злой Я вообще не понял какую желчь вы тут увидели. Просто уже поддостало, когда люди кладут болт на знания, накопленный опыт. Вертели они на одном месте всё это. У них же есть мнение. Абсолютно ни на чём не основанное, просто мнение. Ещё больше раздражает, когда начинают оперировать терминами нравится/не нравится, вопрос вкуса. Такое ощущение, что мы тут в мире моды, аляповых трусов и платьев горошек. Какого хрена? Не согласны с чем-то, приводите аргументы. Так и так. А не вот это вот "условный Фаулер сформулировал в условном хреновом году". Если вас так же лечить, например, будут. Подорожником, потому что кому-то из врачей ПОКАЗАЛОСЬ, что так лучше, а в книгах всякую ерунду пишут для дебилов -- зачем читать? Как вы к этому отнесётесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2019, 00:16 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
fkthatLR, Да мне пох - напихай хоть вообще все в один файл. Чем больше пионэры наговнокодят, тем больше мне потом возможностей бабла срубить - я это еще лет 10 назад понял :)) Аналогично пох - продолжай тупо следовать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2019, 00:32 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
LRfkthatПаршиал классы придумали для вполне определенной цели - разнести по разным файлам сгенеренную каким-либо генератором часть класса и ту часть класса, которая пишется руками. Использовать их для чего-то другого нафиг не следует. Если твой класс большой, то его просто надо разбивать на несколько. То же самое когда-то говорилось и о регионах (regions). Хотите сказать, не используете их? Лет десять уж точно не использую. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2019, 11:35 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
LRfkthatLR, Для нетленного "hello world" м.б. А когда у тебя в проекте одного шарпа почти 200 тыс. строк кода, то как-то сколько у тебя там файлов - тысяча или три особой разницы уже не имеет и лучше просто тупо следовать правилу - один интерфейс/класс/enum - один файл. По крайней мере при этом не заморачиваешь голову тем в какой файл что поместить. И чем же "лучше просто тупо следовать правилу - один интерфейс/класс/enum - один файл"? Потому что какой-нить условный Фаулер сформулировал такое правило в условном 2000-м году? И с тех пор в условной девелоперской конторе существует это правило с перефразировкой для высших руководителей "это оптимально при высокой текучести кадров/кодеров". Правила создают люди. Правила меняются, когда изменяются обстоятельства/возможности, но только если люди не "тупо им следуют". Предлагаю правило: один "use case"/"предметный функционал"/"инфо-кластер" - один файл - чем плохое правило?))) А можете раскрыть, что такое один "use case"/"предметный функционал"/"инфо-кластер" в вашем понимании? И как это согласуется, или чем отличается от принципов SOLID? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2019, 11:40 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
Дмитрий МухА можете раскрыть, что такое один "use case"/"предметный функционал"/"инфо-кластер" в вашем понимании? И как это согласуется, или чем отличается от принципов SOLID? В моем понимании принципы оформления кода и принципы проектирования - разные вещи (как холодное/горячее и горькое/сладкое). Т.е., следовать правилу "один интерфейс/класс/enum - один файл" в надежде, что это каким-то боком соотносится с принципами проектирования (с тем же упоминавшимся здесь "single responsibility") - очевидное заблуждение. Простой пример: enum, который задействуется только в методах некоторого класса. Очевидно, что изменения в этом enum будут делаться одновременно с изменениями в этом классе. И вот, с точки зрения того же SRP, код enum и класса правильней размещать в отдельных файлах или в одном? Это к тому, что принципы оформления кода более субъективны чем принципы проектирования (имхо, начиная новый проект, команда разработчиков сама должна выработать правила оформления кода). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2019, 23:30 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
LR, Что вам мешает свой несчастный енум тогда засунуть внутрь класса? :) Учитывая, что вы его больше нигде не используете, имеет смысл сделать его ещё и приватным, чтобы не торчал наружу и не смущал остальных разработчиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2019, 00:32 |
|
Вынос части кода в другой класс в C#
|
|||
---|---|---|---|
#18+
LRЭто к тому, что принципы оформления кода более субъективны чем принципы проектирования (имхо, начиная новый проект, команда разработчиков сама должна выработать правила оформления кода). Я бы всё-таки хотел бы услышать адекватные обоснования тем или иным решениям. Вот этот субъективизм вообще ни в одно место. Это детский сад на лямочках. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2019, 00:38 |
|
|
start [/forum/topic.php?fid=20&msg=39878581&tid=1398758]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 254ms |
total: | 505ms |
0 / 0 |