|
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 65
|
|
Отладка кода (программы) во FreeBasic21.02.2024, 01:11. Показов 18533. Ответов 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 | |
|
Отладка кода Отладка кода Отладка кода Отладка кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|