Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 5, 2009 19:44:37

ZeroDivisionError
От:
Зарегистрирован: 2009-06-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

NoteFinder

Добрый вечер.

Помню, я был в своё время предметом троллинга в pythonua@:

GFORGX: All:
Большой Лис: /me достал попкорн

wiz: цирк не состоялся
wiz: GFORGX (gforgx@jabbus.org) ушел
Google всё помнит, угу ;)

Так вот, ныне признаю, код 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



Офлайн

#2 Июнь 6, 2009 18:36:21

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

NoteFinder

васис дас?) напиши в первом посте хотя б что это такое;)

Офлайн

#3 Июнь 7, 2009 00:47:47

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

NoteFinder

ZeroDivisionError, а корованы там грабить можно?
Вот объясни, раз программа на Qt, то на кой, прости, хер там свой формат файла конфигурации? Ну если уж так хочется читаемости, при соответствующей мощности, возьми yaml и радуйся. Поверь, хватит за глаза! А если не хватит, то это первый признак, что ты делаешь что-то не то.

Касательно архитектуры – сначала хоть приблизительно продумай, пару uml'ек нарисуй… А только потом пиши код. Иначе мешанина так мешаниной и останется.



Офлайн

#4 Июнь 7, 2009 14:33:03

ZeroDivisionError
От:
Зарегистрирован: 2009-06-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

NoteFinder

slav0nic
васис дас?) напиши в первом посте хотя б что это такое;)
PIM. Ранее было менеджером заметок :)



Офлайн

#5 Июнь 7, 2009 14:35:47

ZeroDivisionError
От:
Зарегистрирован: 2009-06-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

NoteFinder

ZZZ
ZeroDivisionError, а корованы там грабить можно?
Вот объясни, раз программа на Qt, то на кой, прости, хер там свой формат файла конфигурации? Ну если уж так хочется читаемости, при соответствующей мощности, возьми yaml и радуйся. Поверь, хватит за глаза! А если не хватит, то это первый признак, что ты делаешь что-то не то.

Касательно архитектуры – сначала хоть приблизительно продумай, пару uml'ек нарисуй… А только потом пиши код. Иначе мешанина так мешаниной и останется.
Продумывал долгое время. Без UML-ек (спасибо, как-то не хочется).



Офлайн

#6 Июнь 8, 2009 04:34:29

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

NoteFinder

ZeroDivisionError
Без UML-ек (спасибо, как-то не хочется).
А между прочем очень зря. Серьёзно рекомендую научиться использовать сей язык. Помогает не запутаться в написанном.

Добавленно:
Ну или хотя бы mind map



Отредактировано (Июнь 8, 2009 04:41:08)

Офлайн

#7 Июнь 9, 2009 18:14:25

ZeroDivisionError
От:
Зарегистрирован: 2009-06-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

NoteFinder

ZZZ
ZeroDivisionError
Без UML-ек (спасибо, как-то не хочется).
А между прочем очень зря. Серьёзно рекомендую научиться использовать сей язык. Помогает не запутаться в написанном.

Добавленно:
Ну или хотя бы mind map
Хм, да говорю же - не приемлю схематическое представление какой-бы то ни было информации. Наверное, в том числе и поэтому NF не умеет майндмапы :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version