|
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 65
|
|
Отладка кода (программы) во FreeBasic21.02.2024, 01:11. Показов 18430. Ответов 224
Уважаемые программисты. Подскажите - как производится
В QB это делалось просто. В меню Debug командой toggle breakpoint метится строка до которой проверить. После запуска идет проверка, отмечаются ошибки, проблемы. У меня во FreeBasic этот метод не работает. Программа на метку не реагирует, действия не совершаются. Прошу помощи.
0
|
|
| 21.02.2024, 01:11 | |
|
Ответы с готовыми решениями:
224
Грамотная отладка программы, подмога в структуризации кода Отладка программы в Delphi(нужно подредактировать текст чужой программы) |
|
|
|||
| 02.03.2024, 15:38 | |||
![]() Можно еще предметы цифрами называть. Вместо того чтобы сказать "Принеси пожалуйста мне бумагу и карандаш", скажите - "Принеси пожалуйста мне 18488 и 203450". Непонятно? Загляни в документацию и узнаешь что я просил. ![]() По поводу остального. Даже комментировать не буду. Почти со всем не согласен.
0
|
|||
|
|
|||
| 02.03.2024, 17:46 | |||
|
1. это чистый эзопов язык. 2. все равно нужно описание, ибо не понятно, что я хочу: получить один байт или несколько или весь файл, и что такое это байт, и т.п. Вопрос куча и приходится читать определение, а значит лезть в код. А лезть в код, это значит лезть в болото.
0
|
|||
|
|
||||
| 02.03.2024, 19:08 | ||||
|
Подсказки не появляются сами собой! Это двойные стандарты? Подстраивание ситуации под себя? Или может что-то еще? Если бы было больше байта, функции логичнее дать имя GetFileBytes() или GetFileData(). А вот что делает функция f1234() совершенно не понятно. Может она возвращает число 1234?
0
|
||||
|
Кормпилятор
|
||||
| 03.03.2024, 00:43 | ||||
|
а стандарт - больше похож на бумагу, которой можно подтереться, т.к. там просто запечатлено то, что было в компиляторах того времени(что пишут обычно в книжках по бейсику). И когда люди пишут стандарт языком "больше бумаги - чище задница" то примерно так оно и получается, что это больше бюрократия и формальность нежели свод каких-то принципов и актуальных требований. GOTO не убрали ни из Паскаля, ни из Си, поэтому не вижу смысла убирать его, однако числовые метки, GOSUB и всякое старье типа PLAY и касательно "световых перьёв", надо бы выпилить и заменить чем-то более актуальным, например звуковой библиотекой и работой с тач скрином(если мы используем планшет) именно в современном стандарте языка если бы он сущестовал. По поводу Однако есть пределы и не любой код можно портировать без переписывания. И на самом деле все эти опции - очень суровый перебор. Достаточно было двух режимов FB и QB. Т.е. Lite можно было не включать, всё что там есть из различий можно было делать директивами в режиме FB. однако бюрократы в, трещащей на тот момент по швам, стране посчитали, что насрать на актуализацию стандарта и гораздо проще отменить всякие сроки давности. Чтобы ты понимал это равносильно снятию ограничения президентских сроков в конституции, примерно тот же "эффект". Именно поэтому документ дошёл до нас в архивном виде документа СССР актуализированного 1 раз с 89 по 92-й, т.е. времён DOS и текстовой Windows 2.0. И даже тогда умные люди уже не использовали GOSUB. Который точно так же являлся инструментом сугубо более ранних бейсиков, ещё не успевших технически развиться до процедур с функциями. GOSUB включили туда чисто для совместимости, а GOSUB-у нашли новое применение и перенесли в плоскость событий. И это всё там обозначено: Это 1988 год. Т.е. уже тогда понимание рудиментарности GOSUB было отчётливое. Ну и опять же этот стандарт актуален лишь в отсталой в IT плане стране типа России. В миру его отозвали.
0
|
||||
|
Кормпилятор
|
|||
| 03.03.2024, 01:17 | |||
|
Так бывает, когда кто-то решает, что проще взять чужие библиотеки и включить их в ЯП в качестве "внутренних" функций. Как понимаешь переписывать подобные работы они с си на бейсик не будут ибо нет соотв. компетенций. Добавлено через 20 минут а вот пара сотен - заставят человека облысеть, т.е. как хулиган хочет чтобы кодер постоянно лазил по документации. Сущности без имени это отдельная категория, причём чисто психологически, это постоянные лишние сверки, трата времени и внимания. Чтобы представить себе последствия достаточно представить себе кепчи, ты быстро хочешь написать запрос в гугл и тут тебе вылезает кепча, ты её и так дрючишь и сяк дрючишь, появляется заново и всё, протрахавшись в итоге с кепчей минуты две появляется вожделенная строка поиска, а вот что спросить хотел - уже и не помнишь. То же самое, те же последствия. Думаю в "современном мире" было у каждого.
0
|
|||
|
|
|||
| 03.03.2024, 01:40 | |||
|
А если их сотни с ничего не значащими именами? Мне приходилось анализировать код после обфускатора (никакой документации ответственно не было). У всех функций, переменных, массивов, их индексов и т. д. числовые имена. Анализ кода требовал предварительно разобраться что и для чего нужно и изменить имена на понятные. Это заняло очень много времени. Поэтому я не понимаю зачем вносить путаницу используя ничего не значащие имена? Это в дальнейшем создаст сложности при доработке кода.
1
|
|||
|
|
||||||||
| 03.03.2024, 11:47 | ||||||||
|
Более того, если бы язык запрещал создавать эзопов язык, то по формату имени мог бы делать полезную работу. К тому же не потребовались бы ключевые слова вида: function и т.п., так как из самого имени ясно с чем мы имеем дело. То есть язык можно сильно упростить.
0
|
||||||||
|
787 / 308 / 17
Регистрация: 21.01.2023
Сообщений: 531
|
|||
| 03.03.2024, 12:17 | |||
|
0
|
|||
|
|
|||
| 03.03.2024, 12:54 | |||
|
Ну и еще можно добавить: а как же все эти имена, которые определяют тип в basic: myvar% и т.п.? То есть компилятор знает некий формат имени сущности, по которому определяет её тип. Это шаг в нужном направлении.. Добавлено через 13 минут Добавлено через 3 минуты А нынешние программисты как-будто соревнуются между собой - кто напишет более непонятный код. Более того, говорят, что комментарии не нужны, ведь код настолько самоочевиден. Если бы я был руководителем, то не взял бы на работу такого человека. Работа в полиции это не только погоня за преступниками, но 90% времени - бумажная работа, отчеты, рапорты и пр. И программисты должны не только за чашечкой кофейку придумывать алгоритмы, но писать документацию.
1
|
|||
|
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 65
|
|
| 03.03.2024, 13:49 [ТС] | |
|
0
|
|
|
787 / 308 / 17
Регистрация: 21.01.2023
Сообщений: 531
|
|
| 03.03.2024, 14:22 | |
|
0
|
|
|
|
||||||||
| 03.03.2024, 14:54 | ||||||||
|
Код станет совершенно непонятным? Даже в чужом коде для меня будет очевидно что функция GetFileByte() читает байт из файла. А f1234() может делать все что угодно. В разных программах функция f1234() может выполнять совершенно другие задачи. Короче сами все усложняете. Код должен быть таким чтобы как можно реже заглядывать в документацию для уточнения того или иного момента. Без разницы для чего функция, вызываем любую и может угадаем и что-то как-то будет работать!
0
|
||||||||
|
|
||||||
| 03.03.2024, 15:25 | ||||||
|
0
|
||||||
|
COM‐пропагандист
|
|||||||
| 03.03.2024, 15:30 | |||||||
0
|
|||||||
|
|
|||
| 03.03.2024, 16:04 | |||
|
Добавлено через 10 минут int f1234(bla, bla)// функция делает то-то и то-то { var v1//переменная для .... bla bla } Ну хотя бы вот это. Или вот этому даже надо учить?))
0
|
|||
|
|
||||||
| 03.03.2024, 16:31 | ||||||
|
У вас очень много свободного времени и не знаете чем себя занять? Что еще нового расскажите?
0
|
||||||
|
|
|
| 03.03.2024, 17:32 | |
|
locm,
Я говорю только о том, что совершенно недостаточно "самодокументируемых" имен, для понимания работы системы. Вы можете писать как привыкли, но обязаны создать описание на человеческом языке. Без вербльюжьей нотации.
0
|
|
|
930 / 257 / 100
Регистрация: 21.10.2012
Сообщений: 621
|
|
| 03.03.2024, 18:29 | |
|
Locm, CoderHuligan в чем-то прав. GetFileByte() не явно читает байт файла. Вот GetByteFromFile() более понятна. Каждый под себя, под свои привычки, придумывает имена процедур и функций. И однозначно их не всегда можно интерпретировать.
Комментарий в любом случае нужен, но в разумных пределах. А не как на форуме разжевывать каждую строку, и даже каждую переменную. И по поводу документации CoderHuligan прав. Она нужна! На некоторых предприятиях закупалось оборудование без нужной документации, и в итоге это оборудование так и не использовалось, никому не хотелось изучать его "кишки". Тем более если под них нужно было писать управляющую программу. И даже бывало такое, есть исходный код программы к оборудованию, но нет комментариев в нем и другой информации. А его нужно доработать, т.к. он не совсем то, что нужно делает с оборудованием. Т.е. программа была написана под управление другими функциями. И нахрен он никому не нужен такой код. И оборудование простаивает. Это было и раньше, это есть и сейчас. А все из-за того, что начальники, закупающие оборудование пытаются сэкономить.
1
|
|
|
|
||
| 03.03.2024, 19:13 | ||
|
Именовать функции можно как удобно, но когда имя бессмысленно это очень плохая практика программирования. markiza-inc, посмотрите что предлагает CoderHuligan. Именовать функции как угодно без смысловой нагрузки и заполнять этот пробел документацией. Это неправильно. Документация нужна, но код должен быть таким чтобы как можно реже к ней обращаться, а не на каждом шагу потому что имена в коде ничего не означают.
1
|
||
|
930 / 257 / 100
Регистрация: 21.10.2012
Сообщений: 621
|
|
| 03.03.2024, 19:25 | |
|
locm, так я и написал, что он прав частично, именно про комментарии и документацию. А именовать "бессмысленно" - бессмысленно! Именовать переменные и функции нужно в соответсвии со здравым смыслом. Они должны быть понятны. Если я уж про GetFileByte() написал, что она не совсем понятна, то f1234() и подавно бестолковое название.
0
|
|
| 03.03.2024, 19:25 | |
|
Отладка кода Отладка кода Отладка кода Отладка кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Новости компьютерного мира и их обсуждение (4)
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|