Вверх ↑
Ответов: 3889
Рейтинг: 362
#1: 2012-05-10 16:34:17 ЛС | профиль | цитата
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
    файлы: 1code_27861.txt [382B] [345]