OberonCore https://forum.oberoncore.ru/ |
|
Часто замечаю за собой https://forum.oberoncore.ru/viewtopic.php?f=86&t=3793 |
Страница 2 из 2 |
Автор: | Владислав Жаринов [ Среда, 29 Август, 2012 06:30 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Кстати, аналогичный подход, видимо, нужно применять и к yield - возврату значения с продолжением исполнения текущей процедуры со следующего оператора (забыл, он в Питоне вроде). Видимо "убирать йелды" нужно также на основе присваиваний? |
Автор: | Рыжий [ Вторник, 15 Январь, 2013 18:44 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
В ББ сплошь и рядом гиперссылки и кнопки, а это и есть - goto. |
Автор: | Valery Solovey [ Четверг, 17 Январь, 2013 00:32 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Рыжий писал(а): а это и есть - goto. спасает только одно - необязательность исполнения этой команды.
|
Автор: | Info21 [ Четверг, 17 Январь, 2013 00:56 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Рыжий писал(а): В ББ сплошь и рядом гиперссылки и кнопки, а это и есть - goto. И впрямь:для прыжка по гиперссылке неплохо бы иметь команду возврата, как в браузере. У кого-нить есть представление, как это сбацать? |
Автор: | Рыжий [ Воскресенье, 03 Февраль, 2013 00:28 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Не оно ли ... http://www.insidepro.com/kk/112/112r.shtml http://www.insidepro.com/kk/222/222r.shtml Цитата: замечательная утилита WinDBG в составе Debugging Tools for Windows, так вот она позволяет записывать дамп процесса, а потом отлаживать дамп, как сам процесс. Все равно еще обращение к файлам остается.. |
Автор: | Иван Кузьмицкий [ Пятница, 15 Февраль, 2013 15:23 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Вот ещё одну проблему зафиксирую. Налетел тут на ошибку проектирования с условным названием "перехват контроля данных". Есть дерево, в узлах которого размещены элементы разных типов. Для обработки элементов разных типов построены разные алгоритмы, работающие с одним и тем же деревом. Когда в дерево, посредством одного алгоритма, попадают случайно данные, распознаваемые другим алгоритмом, то этот другой алгоритм даёт ложное срабатывание. Проблема того же рода, что и глобальные переменные. Но порой избежать довольно трудно, так как модуль обрастает возможностями постепенно и проблема изначально вообще не ощущается. Видимо, надо сознательно вводить прослойку-менеджера между данными и алгоритмами, которая не позволит произвольно хулиганить в данных. |
Автор: | Ярослав Романченко [ Пятница, 15 Февраль, 2013 17:08 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Или каждый нод дерева должен быть своего типа с соответствующими методами для обработки своих данных. |
Автор: | Info21 [ Пятница, 15 Февраль, 2013 18:22 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Больше статической типизации. Она ровно для этого. |
Автор: | Иван Кузьмицкий [ Суббота, 09 Март, 2013 10:39 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Иногда лень выделять алгоритмы из текущего контекста задачи. Например, прямо в рабочем алгоритме проще создать экземпляр и проинитить его тут же, на месте, исходя из "состояния цепочки управления" (условно говоря). То есть, обойтись без отдельного конструктора. Ну а потом, как всегда, внезапно и совершенно в другом месте требуется отдельный конструктор, со всякими сервисами (с проверкой дублей, например). И начинаешь выдирать "с мясом" копипасту, стараясь не нарушить работу старого алгоритма. Это можно назвать "проблемой сильных и слабых связей". Собрать сильносвязанную конструкцию одномоментно проще, зато потом трудно её расширять. А вот слабосвязанные конструкции строить гораздо тяжелее (и это объективная трудность, ведь приходится ещё и думать о неочевидных потоках управления), но зато это окупается сторицей впоследствии. |
Автор: | Пётр Кушнир [ Суббота, 09 Март, 2013 16:23 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Так значит конструкторы всё же Нужны? |
Автор: | Иван Кузьмицкий [ Суббота, 09 Март, 2013 19:32 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
А что такое конструктор, как не выделенный алгоритм создания экземпляра класса, под прилагающейся охраной? Вопрос "а нужен ли конструктор" относится к той же группе вопросов, что и необходимость процедур, например. Это вопрос инженерии и архитектуры, а не синтаксиса языка. Конечно, синтаксис может поддерживать построение архитектуры, но тут важнее сознательное, методичное усилие инженера. |
Автор: | Иван Кузьмицкий [ Пятница, 05 Июль, 2013 19:13 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Ещё одно наблюдение, касается сложности. Если рассматривать программу как модель предметной области, то можно сказать так - на пути от реальности к работающей модели существует некий вакуум. Этот вакуум программист заполняет собственными усилиями. И очень часто случается так, что в этот самый вакуум попадает слишком много всего. Ведь ограничений очень мало, а к совести апеллировать бесполезно И вот эти самые игры в креативность, при наличии широких возможностей создания всего-всего, порождают избыточную сложность. Потом оказывается, что одно лишнее, другое, и вообще можно было сделать проще. Другими словами, наломать дров легче и быстрее, чем подумать и не спеша сделать. И этот факт я фиксирую на собственном опыте. |
Автор: | Пётр Кушнир [ Среда, 15 Январь, 2014 10:07 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
http://googleonlinesecurity.blogspot.ru ... fixes.html Цитата: Since then, we have carried out several dozen fuzzing iterations (each typically resulting in less crashes than the previous ones) over the last two years, identifying bugs of a number of different classes: Че-то мощные IDE не спасли.
NULL pointer dereferences, Invalid pointer arithmetic leading to SIGSEGV due to unmapped memory access, Out-of-bounds reads and writes to stack, heap and static-based arrays, Invalid free() calls, Double free() calls over the same pointer, Division errors, Assertion failures, Use of uninitialized memory. |
Автор: | Евгений Темиргалеев [ Суббота, 29 Март, 2014 17:57 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Не часто, но чувствительно по времени: поиск ошибки там, где её нет. Или забыл перекомпилировать, или пересборать. Полдня поисков по всем местам от и до выявили, что ошибка HostFiles, как и ожидалось, была устранена сразу применением дельты B2, но после забыл пересобрать пускач. Полную компиляцию много раз делал, а сборку ни разу. Наверное, сказывается привычка к динамической загрузке. |
Автор: | adva [ Понедельник, 31 Март, 2014 05:39 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Евгений Темиргалеев писал(а): Не часто, но чувствительно по времени: поиск ошибки там, где её нет. Или забыл перекомпилировать, или пересборать. Уже тоже нарывался, хоть и программил на блекбоксе всего ничего. Вот пожалуй только для таких случаев и может понадобиться пошаговый отладчик (по крайней мере мне бы в нем было проще сориентироваться). Хотя отладчик при этом не пропагандирую, может быть есть и другие варианты быстро найти подобные ошибки |
Автор: | Валерий Лаптев [ Суббота, 05 Апрель, 2014 09:10 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Пётр Кушнир писал(а): Так значит конструкторы всё же Нужны? Как конструкция языка - нет. Ведь есть идиомы конструкторов: 1. Виртуальный конструктор - оно же паттерн Фабричный метод 2. Виртуальный конструктор копирования - оно же паттерн Прототип |
Автор: | Пётр Кушнир [ Суббота, 05 Апрель, 2014 13:00 ] |
Заголовок сообщения: | Re: Часто замечаю за собой |
Валерий Лаптев писал(а): Пётр Кушнир писал(а): Так значит конструкторы всё же Нужны? Как конструкция языка - нет. Ведь есть идиомы конструкторов: 1. Виртуальный конструктор - оно же паттерн Фабричный метод 2. Виртуальный конструктор копирования - оно же паттерн Прототип |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |