0xd34df00d
09.11.2012 11:39 Azoth_primary
За некоторые «дизайнерские решения» мне феерически стыдно. За открытый на всем протяжении файл настроек, например.
Как дальше жить?

85 comments
recommend
bookmark
subscribe
На протяжении чего?
времени работы приложения, похоже
он не может закрыться? ( бедный
Странно как-то.
Жизни.
Уебищно. Так его легко потерять, если внезапно на разделе место кончится, например. Или http://dev.leechcraft.org/issues/884 из той же серии.
Oh shi~
Да :( Грустная история!
> легко потерять
Да, трудно настроить, легко потерять и невозможно восстановить.
Ууу, говно.
This.
У тебя слишком короткий файл настроек! ДОБАВЬ XML, НЕЙМСПЕЙСЫ, СХЕМЫ, КОММЕНТАРИИ, БЛОКИ CDATA.
Ага, мой репорт?))
Ага.
А почему только Азот?
Так карты сложились.
))
И бекап-копию образа плагина там хранить еще.
;) pdb не забудь присунуть
И такое бывало, да, но решил не репортить :D
Под обе битности венды.
UniversalBinary — это к макоси, ага.
Блядь, почему рапчуре отвечает на пост рекомендацией, а не комментом?
Так легче насрать в душу же.
рекомендацией в душу насрал восторг.
Да они там вообще универсалы, это да.
Че.
закрой его
Закрыл. Теперь тормозит.
WD40!
тогда не закрывай и забей
Че.
НЕНАДЕЖНО
FSYNC FLUSH FFLUSH
маслице
сделой
Творог.
Прст IO должно быть асинхронным или все пизда.
Сделай мне асинхронное Variant Settings::GetValue().
Оберни, есть же QtConcurrent, FTW
Ты ведь понимаешь, что такой код будет выглядеть как макаронный пиздец?
Тебе шашечки или ехать?
Мне ехать и понимать, что писать такой пиздец — пиздец.
помоему ты отсасываешь проблему из пальца
тогда отрефактори, отрефактор его еще раз.
Не пиздец, если спрятать все говно в недра и вывести вменяемый интерфейс наружу.
Плюсы не предназначены для написания подобного рода асинхронного кода.
НЕДРА ХУЕДРА
boost::asio тебе не предназначен, дедфуд
Извини, я просто адекватнее ничего не могу придумать.
Там асинхронность чуть более глобального масштаба.
почему? что тебе мешает?
Потому что простейшее
void foo ()
{
// smth
auto val = SettingsMgr→GetValue ("Something");
auto otherVal = SettingsMgr→GetValue ("SomethingOther");
// work with values
}
превратится в пиздец.
на С :) Ну, прости за пиздец, а в дочернем потоке прочитать настройки в память и закрыть его?
SettingsMgr→GetValue("Something").onFinish([](){...});
кстати, сорри, я не гуру в плюсцах, но видел, что и в них можно удобно юзать иснхронку благодаря некой ppltasks.h
пример видел здеся http://msdn.microsoft.com/en-us/library/...
Чем такой стиль пиздец?
-____\\\
Вербозно.
нет ты
CPS же практически, что ты лапки прикрываешь?
ты хочешь пёрла?
Причем тут си? Причем чтение настроек в дочернем потоке? Речь не про одноразовое считывание, а про постоянное.
Обычно я это про плюсы говорю ;[
ЕМНИП PPL немного не то, но я его не тыкал особо.
Потому что в языке с явным удалением объектов и отсутствием сейф-ссылок нужно все время обмазываться всякими shared_ptr'ами и QPointer'ами, чтобы следить, что пока ты там настройки читал, родительский объект не сдох, например.
Х-ля, конечно же.
постоянное зачем?
PPL — ШИНДОWS-ОИLY
% eix ^ppl$
[I] dev-libs/ppl
Available versions: 0.10.2-r1 0.11.2-r1 (~)0.12 (~)0.12.1 {{doc lpsol pch static-libs test watchdog}}
Installed versions: 0.12.1(14:57:12 01.05.2012)(-doc -lpsol -pch -static-libs -test)
Homepage: http://bugseng.com/products/ppl
Description: The Parma Polyhedra Library provides numerical abstractions for analysis of complex systems
При каждом новом сообщении в чятике узнавать, писать его в лог или нет, например.
зацепи овнершип объекта запроса на время жизни предка, какие проблемы?
Ясен хрен, что без GC c асинхронностью просос.
Вот и я про то.
http://msdn.microsoft.com/en-us/library/...
ты ниасилятор прост
Ну вот, началось.
А если предка нет? А если нужна чуть более строгая стратегия? И пошло-поехало.
КОКОКО РЕФКАУНТЕР
ИНТРУЗИВ_ПТР СТРАТЕГИИ ВЛАДЕНИЯ АААА БЛЯДЬ МАЛЛОК МАЛЛОК МАЛЛОК
ИДИТЕ В ЖОПУ ПЕТУХИ КУРЯТНИК КАКОЙ ТО УСТРОИЛИ НАХУЙ U НА ВАС
типа кнопка закрыть при изменении настройки дергать конфиг не может?
БАГЕТ
Механзим подписки на уведомления о смене настроек есть, но иногда таки легче запрашивать компоненты стейта, нежели чем хранить-дублировать его.
я помню, в прошлый раз ты таким макаром дошел до того, что история чата стала отдельным протоколом, ага
ЗАЧЕМ МНЕ ПОКОЛЕНИЯ БЛОКИ ПОМЕТИЛ ПОДМЕЛ ЛУЧШЕ РЕФКАУНТЕРЫ БЛОКИРОВКИ ОВЕРХЭД
ну ок-ок.