Ответов: 3889
Рейтинг: 362
|
Nic, Последняя версия кодогенератора, пакета, среды, .NET, плагин синтаксического редактора, NT5.x x86.
Пытаясь написать простейшее приложение из нескольких элементов поймал семью тараканов и пару малозаметных плодовых мушек. Ниже только начало списка, остальные добавятся когда (если) будет свободное время.
Например, в текстовые свойства элементов нельзя записывать символы, используемые в синтаксисе целевого языка. После первых же двойных кавычек получается инъекция кода code_27861.txt Похоже, целесообразнее решить это сразу на уровне кодогенератора, настраивымими механизмами автоэкранирования строк в зависимости от целевого языка.
Плагин не может найти код в папке code, встаёт на первом же пробеле в пути (Could not find file 'C:\Program');
Окно редактора по CTRL+W не помнит старого положения и размера;
------------ Дoбавленo в 14.55:
Включен режим сохранения исходников. Складывается впечатление, что кодогенератор не очищает\удаляет файл исходного текста (буфер?) перед новой записью и, если убираем какие-либо элементы, сокращая тем самым исходный код, он пишется прямо поверх старого, оставляя "хвостик" из мусора от предыдущей компиляции с вытекающими. Сперва думал, что файл блокируется от удаления, скажем, плагином просмотра текста, но повторная попытка компиляции проходит успешно, т.е. мусора не остаётся, даже если открыт плагин со старым текстом.
------------ Дoбавленo в 15.02:
Путём по умолчанию (рабочей папкой) запущенное из конструктора приложение считает не папку со своим SHA, а корневую директорию HiAsm;
------------ Дoбавленo в 16.33:
Когда будут вводиться элементы кодирования строк в URI, есть идея НЕ использовать HttpUtility.UrlEncode, HttpUtility.UrlPathEncode и прочие Server.UrlEncode. Как это не редко бывает, у M$ некорректная реализация, нарушающая все RFC. То пробелы плюсами заменяют, то неправильно перекодируют или вообще не перекодируют знаки пунктуации, например, могут оставить в строке пробел или пару слипшихся процентов. В соответствии с RFC следует брать текст в UTF-8, фильтровать символы выражением [^a-zA-Z0-9\\.\\-_~], если код символа имеет старшую часть (больше 255), то вместо него конструируем строку из двух шестнадцатиричных представлений байт кода символа.
|
карма: 1 |
| 0 |
|
файлы: 1 | code_27861.txt [382B] [376] |