Реструктуризация каталога C++

Я вижу две ошибки в коде

Первый:

file_title = Entry(save_namewindow).pack()

Он присваивает None значение file_title, потому что pack() возвращает None.
Таким образом, у вас нет доступа к Entry.
Вы должны сделать это в два этапа

file_title = Entry(save_namewindow)
file_title.pack()

И теперь у вас есть доступ к Entry.

Секунда:

Чтобы получить текст из Entry, вы должны использовать .get(). Это значит file_title.get().

Так что вам нужно

file_name = file_title.get() + ".txt"
6
задан amit 27 February 2009 в 06:59
поделиться

3 ответа

Если необходимо переписать #includes, чтобы сделать это, Вы сделали это неправильно. Измените все Ваш #includes использовать очень простую структуру каталогов, в остроте два глубокие уровня и только использующие второй уровень для организации вокруг архитектуры или зависимостей ОС (как sys/types.h).

Затем измените свои make-файлы для использования -I включайте пути.

Вуаля. Вы никогда не должны будете взламывать код снова для этого, и компиляции аварийно завершатся немедленно, если что-то пойдет не так, как надо.

До части истории я лично нахожу легче сделать чистый запуск при выполнении этого вида вещи; заархивируйте старый, сделайте новый репозиторий v2, пойдите оттуда. Контрдовод - когда существует много истории изменений или большого количества нерешенных вопросов против существующего кода.

О, и у Вас действительно есть хорошие тесты, и Вы не делаете этого с выпуском, происходящим право, правильно?

3
ответ дан 17 December 2019 в 00:15
поделиться

Изрубить сценарий оболочки, чтобы сделать перемещения svn тривиально. В tcsh это - foreach F ($FILES)... заканчиваются для корректировки ряда файлов. Предложение Perl & Python лучшая утилита.

Действительно стоит сохранить историю. Особенно при попытке разыскать некоторую экзотическую ошибку. Те, кто не извлекает уроки из истории, обречены повторить его, или некоторый такой спам...

Что касается изменения всех файлов... Был подобный вопрос, просто на днях законченный в:

https://stackoverflow.com/questions/573430/c-include-header-path-change-windows-to-linux/573531#573531

2
ответ дан 17 December 2019 в 00:15
поделиться

Я сохранил бы историю, даже если она берет небольшое количество дополнительного времени. Существует много значения в способности прочитать журналы фиксации и понять, почему функция X записана странным способом, или что это действительно - ошибка диапазона, потому что это было записано Oliver, который всегда понимает это превратно.

Аргумент против сохранения истории может быть приведен в пользу читающих пользователей:

  • Ваш код мог бы иметь смущающие вещи, как профанация и борющийся среди разработчиков
  • Вы не заботитесь об истории фиксации Вашего кода, потому что это не собирается изменяться или сохраняться в будущем

Я сделал некоторый каталог, осуществляющий рефакторинг как это в прошлом году на нашей кодовой базе. Если Ваш код разумен структурированный вначале, можно сделать приблизительно 75-90% работы с помощью сценариев, записанных на предпочтительном языке (я использовал Perl). В моем случае мы перемещали от набора файлов все в одном большом каталоге к ряду вложенных каталогов в зависимости от пространств имен. Так, файл, который объявил протоколы класса:: сериализация:: SerializerBase был расположен в src/protocols/serialization/SerializerBase. Отображение от старого названия до нового имени было тривиально, так, чтобы выполнение находки и замены на #includes в каждом исходном файле в дереве было тривиально, хотя это было большое изменение. Было несколько странных пограничных случаев, которые мы должны были зафиксировать вручную, но это казалось намного лучше или, чем имеющий необходимость сделать все вручную или, чем имеющий необходимость записать наш собственный синтаксический анализатор C++.

2
ответ дан 17 December 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: