![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Заблокирован
Регистрация: 03.08.2015
Сообщений: 28
|
![]()
Что в последней студии?
Что значит < typeargs > вот здесь? https://msdn.microsoft.com/en-us/lib...verview_topic6 Generic Method https://msdn.microsoft.com/en-us/lib...v=vs.100).aspx Если я разобью один большой метод на кучу мелких, он станет проще? С одной стороны я спрячу лишние детали, но от этих "пряток" ничего не упрощается, даже наоборот. Была одна линейная программа, а стала лапша, в которой хрен найдёшь даже главный метод. Это привязывает к IDE. Меня немного коробит от методов, которые вызываются ровно один раз ровно в одном месте программы. И от отсутствия как-то проследить за выполнением кроме как выполняя программу в дебаггере. Есть ли возможность как-то раскрывать методы на месте? Чтобы они показывались как папки в эксплорере, сворачивались разворачивались по клику. И чтобы тому, кто на мой код набредёт, было легко найти главный метод. Или построить call graph. Последний раз редактировалось Stilet; 10.09.2015 в 12:00. |
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
в студии начиная можно скрывать тела методов(с 2010 точно), слева плюсик/минус должен быть(правда про Express версии не знаю).
далее дробить излишне не нужно, это усложняет. ну а насчет отладчика, это логично что внутренности проги наблюдать лишь в нем, вне отладчика прога должна работать хорошо, и необходимости в этом нет. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#13 |
Заблокирован
Регистрация: 03.08.2015
Сообщений: 28
|
![]()
Он скорее скрывает чем раскрывает. Мне бы как-то сделать, чтобы раскрывалось прямо внутри метода. Чтобы по требованию под интересным методом показывалось содержимое другого метода, внутри того метода ещё раскрытые методы, и т.д. Как папки в проводнике.
|
![]() |
![]() |
![]() |
#14 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
то есть вы пишете все в методах но чтоб методов не было?
![]() и да, в проводнике вы видите лишь одну папку(содержимое). а дерево это ваш callstack. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#15 |
Заблокирован
Регистрация: 03.08.2015
Сообщений: 28
|
![]()
...
как в проводнике ![]() |
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
ну и где в проводнике вы видите содержимое нескольких папок сразу?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#17 |
Заблокирован
Регистрация: 03.08.2015
Сообщений: 28
|
![]()
Давай я тебе буквами нарисую что мне нужно.
Код:
Код:
Код:
Код:
Код:
Последний раз редактировалось Stilet; 10.09.2015 в 12:00. |
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
А как быть с рекурсией?!
если нужно смотреть код вызываемых функций чтобы понять ЧТО они делают ЗНАЧИТ у них плохое ИМЯ (лечится переименованием) если чтобы понять КАК они делают то НАДО просто смотреть КОД нужной функции. как правило функции пишутся для того чтобы СКРЫТЬ действия, а не показать.
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#19 |
Заблокирован
Регистрация: 03.08.2015
Сообщений: 28
|
![]()
Ну что поделать, я не могу понять, что делает метод, лишь глядя на имя. И к сожалению это уже не в моей власти, не могу понять и всё. Но я попробую писать именно документированные методы в будущем, хотя и недолюбливаю естественные языки. Комментарии лгут, код не лжёт.
А, что с рекурсией делать? Можно либо не делать рекурсию, либо не делать полное раскрытие сразу всего. В файловой системе рекурсия запрещена, как бы. А может и разрешена, ссылки есть. Везде полумеры, лишь бы работало. Да, и код останется в том же виде, в каком и был, только будет отображаться немного по-другому. Он по-прежнему однослойный блин из методов, но при открытии будет открываться только главный (или только публичные), а все остальные будут показываться по необходимости. Я НИКОГДА не могу найти main, знаете как раздражает! Последний раз редактировалось Buron Hoise; 07.08.2015 в 19:30. |
![]() |
![]() |
![]() |
#20 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
Buron Hoise, вы на каком сейчас этапе? Если есть демка, то кидайте - потестим.
Вот может быть вам пригодится реализация алгоритма Flood Fill Код:
Язык: C# Движок: Unity2D Базовый туториал |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Используя ООП создать в динамической памяти фигуру, представляющую связный список отдельных объектов (C#) | BaHDaJl | Помощь студентам | 0 | 20.06.2012 15:42 |
Добавить в XML дополнительное поле используя appendChild. | Alfiks | Microsoft Office Excel | 1 | 14.03.2011 12:59 |
Как можно используя IdHttp обратиться к серверу по IP не используя доменное имя. | Chasow | Работа с сетью в Delphi | 1 | 06.04.2010 04:16 |