Программерам
Apr. 5th, 2011 03:19 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Задачка: как оптимизировать такой код, чтобы убрать копи-пасты?
Напрашивается заведение двух функций... а, может, кто-нибудь знает другие трюки?
Upd: Порядок вызова seek/read важен - там в файле два последовательных блока, наличие/отсутствие которых определяется флагами OpAfter/OpBefore.
Напрашивается заведение двух функций... а, может, кто-нибудь знает другие трюки?
if (undoCase) { if (op & OpBefore) { uf.read(&hb, sizeof(hb)); *hNew= hb; ++hNew; ++i; } if (op & OpAfter) { uf.seek(sizeof(GHarmonicBase), SEEK_CUR);//pass redo data ++hOld; } } else { if (op & OpBefore) { uf.seek(sizeof(GHarmonicBase), SEEK_CUR);//pass undo data ++hOld; } if (op & OpAfter) { uf.read(&hb, sizeof(hb)); *hNew= hb; ++hNew; ++i; } }
Upd: Порядок вызова seek/read важен - там в файле два последовательных блока, наличие/отсутствие которых определяется флагами OpAfter/OpBefore.
no subject
Date: 2011-04-05 03:01 pm (UTC)no subject
Date: 2011-04-05 03:06 pm (UTC)Пойдете с электронным паспортом через контроль - кивните, стэк драйверов там мой. :)
no subject
Date: 2011-04-05 03:11 pm (UTC)no subject
Date: 2011-04-05 03:33 pm (UTC)Шли бы Вы со своими редакторами? :)))
no subject
Date: 2011-04-09 02:55 pm (UTC)no subject
Date: 2011-04-09 03:13 pm (UTC)no subject
Date: 2011-04-09 05:58 pm (UTC)А я никнейм не по словарю подбирал :)
Желаю Вам успехов!
no subject
Date: 2011-04-09 06:20 pm (UTC)