|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.09.2016, 10:54 | #141 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
два последовательных сравнения, а не вложенные: Код:
и вместо одного сравнения за пару пытаетесь делать два. я не спроста Код:
(в данной ситуации не может быть третьего выхода). Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 13.09.2016 в 12:30. |
||
13.09.2016, 22:14 | #142 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Пепел Феникса
Про области видимости - я говорил об этом: Цитата:
И вопрос по поводу сборки: какая разница, при какой сборке тестируется оба класса ? Для классов (правильнее говорить - объектов, потому что уже во время выполнения программы) внешние условия всё равно одинаковые. Что касается количества выходов при сравнении: 1) первая точка выхода - количество шагов назад меньше количества шагов вперёд, значит двигаемся назад 2) вторая точка выхода - количество шагов вперёд меньше количества шагов назад, значит двигаемся вперёд 3) тут две под-точки, при которых количество шагов в обоих направлениях одинаково 3.1) текущий индекс равен запрашиваемому (для любого количества элементов списка), а это означает, что двигаться никуда не надо 3.2) запрашиваемый индекс находится в противоположной части карусели, что означает, что двигаться можно в любом направлении; эта точка выхода справедлива только для случаев, когда количество элементов списка нечётное (о чём я уже говорил). То есть, пункт 3 - это целая ветка, которая в листинге у меня пустая.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 13.09.2016 в 22:21. |
|
13.09.2016, 22:18 | #143 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
И мало ли что там в другом классе, может ассерты и ifdef DEBUG на каждом шагу.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 13.09.2016 в 22:21. |
|
13.09.2016, 22:26 | #144 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Но можно и по другому:
Код:
Подпись ? Не, не слышал ...
|
13.09.2016, 22:40 | #145 | ||||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Цитата:
не думал что придется это сказать, но вы составьте хоть блок схему на свой код. а впрочем я сделал это за вас. вот вариант с фейлом вам самому не кажется что второе сравнение явно лишнее?(от которого есть ветка к фейлу) оно бы имело смысл если бы для случаев когда проход по сторонам равен, у вас была бы особая реакция, иначе, привет дублирование кода на пустом месте. вот проправленный вариант, стало чище не так ли? Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||||
13.09.2016, 22:55 | #146 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Пепел Феникса
Вот перепиленная функция. И да - у меня было дублирование возврата с моей предыдущей логикой, что в прочем на производительность влияет довольно таки мало - одна лишняя проверка, которая при её выполнении всегда false (ибо уже был отсеян этот случай). Код:
Подпись ? Не, не слышал ...
|
13.09.2016, 23:01 | #147 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
по этому же коду вторая блок схема и составлена.
я надеюсь вы сделали вывод из лишних условия и возможностей выстрелить себе в ногу. насчет остального что я хотел до вас донести я не уверен. в принципе, я считаю свою часть выполненной, я немного передал вам опыта, немного попытался предстеречь от повторения моих же ошибок.(около 9 лет за плечами, да-да, с 15 лет). что дальше делать, дело ваше. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
14.09.2016, 07:01 | #148 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Пепел Феникса
Теперь да, у меня такие же пропорции в результатах тестов, как и у вас (по коду к методу тестирования не должно быть претензий). Признаю свою ошибку по конфигурации сборки - банально не знал. И возвращаясь к моей фразе "померяемся, у кого меньше" - вы выграли (35-40%), что согласен спихнуть на ваш опыт. Я кстати так же учусь программировать с 15 лет (сейчас мне 20). Вопрос в другом: почему в дебаге код из библиотек работает в два раза медленнее, чем в релизе ? При этом мой код работает одинаково и в дебаге, и в релизе. Цитата:
А на счёт аргументов и всего остального - мне просто интересны логические конструкции, так сказать, инсайд, и я только с удовольствием трачу на эту муть своё личное время. О чём уже когда то упоминал в разных словесных формах.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 14.09.2016 в 07:11. |
|
14.09.2016, 08:42 | #149 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
2)их код следует гайдлайнам и не имеет доступа к полям классов, все через свойства.(что не в релизе замедляет доступ) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
14.09.2016, 08:57 | #150 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Пепел Феникса
Добавлять новую возможность ошибиться лишь для того, что бы учиться на этих ошибках - в буквальном смысле получать опыт (это касается не только прогаммирования). А в качестве бонуса - понимание, как конкретный класс устроен внутри, и как его можно улучшить в каком либо смысле. И да: я ведь не пытаюсь переписать всё, а только то, о чём имею хоть какое то представление. В этом мой интерес. А брать готовое и использовать без понимания устройства - я так не умею, и не люблю.
Подпись ? Не, не слышал ...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Небольшое веб-приложение на ASP.NET | aly-lucenko | Фриланс | 10 | 10.01.2014 23:31 |
Веб-приложение asp.net MVC и с чем его едят | nec117 | ASP.NET | 0 | 18.04.2011 17:04 |