Помню, я был в своё время предметом троллинга в pythonua@:
GFORGX: All:Google всё помнит, угу ;)
Большой Лис: /me достал попкорн
…
wiz: цирк не состоялся
wiz: GFORGX (gforgx@jabbus.org) ушел
Так вот, ныне признаю, код NF на то время был ужасен чуть более, чем полностью. Представлял из себя мешанину кода нагенерированного pyuic4, копипасты и прочего. Ненужные классы были налеплены на каждый чих. Нисколько не думал об архитектуре проекта, влеплял неюзабельную систему плагинов и т. д.
Начиная с НГ медленно всё переписывал полностью - написал парсер для своего собственного формата конфигурации, сделал базовый класс CommonApplication - и уже от него наследовал классы интерфейсов - DaemonApplication (сервит RSS блокнотов и управляет напоминаниями), ConsoleApplication, GuiApplication (интерфейс на Qt). Классы бэкендов наследовал от dict вместо старых классов с ужасными методами а-ля getNotes, реализовал интерфейс для подключения модулей - поисковых функций, функций сортировки заметок по определённым свойствам, бэкендов, хэндлеров для различных типов заметок - File, Directory, Note, Image, Task, Scrap, etc., сделал собственный загрузчик плагинов вместо использования pkg_resources и egg entry points, которые требовали установки самих плагинов - сейчас достаточно кинуть скрипт, содержащий функцию main, которой передаётся в качестве аргумента инстанция приложения. Ну, в общем, изменено внутри многое. В ближайших планах - добавить DbusInterface и адекватно портировать некоторые вещи из старого кода - бэкенды dokuwiki, opera, icalendar, etc.
Код сейчас храню в hg-репозитории на bitbucket, http://bitbucket.org/gforgx/notefinder