перечитывая себя
Thursday, 19 August 2010 16:11![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Бля, вот как можно таким мудаком быть-то?
class Device : public QObject
{
....
Device* parent;
QString deviceUdi;
QString parentUdiString;
....
}
Это засунуть в QList.
Нужно понимать, что Device однозначно идентифицируется своим UDI и бОльшая часть действий начинается с поиска объекта по UDI.
А потом написать вот такой WTF по связыванию детей с родителями при инициализации:
Пиздец, O(n^2). Нахуя вообще Device* parent, если он избыточен и вполне достаточно знать QString parentUdiString ? А вот зачем: чтобы когда понадобиться полезть к родителю, можно было просто сходить по указателю, вместо вызова ещё одного WTF:
Блядь, ну для чего-то же существует QHash, ну какого хуя в 21 веке делать тупорылый поиск? И нахуя Device делать объектом, если на самом деле хватает typedef struct?
Интересно, чего я такого покурил когда два года назад писал эту поебень?
class Device : public QObject
{
....
Device* parent;
QString deviceUdi;
QString parentUdiString;
....
}
Это засунуть в QList
Нужно понимать, что Device однозначно идентифицируется своим UDI и бОльшая часть действий начинается с поиска объекта по UDI.
А потом написать вот такой WTF по связыванию детей с родителями при инициализации:
foreach (Device *device,storageDevices())
foreach (Device *parentDevice,storageDevices())
if (parentDevice->udi() == device->parentUdi()) {
device->setParent(parentDevice);
break;
}
std::cerr << "[E] Parents done\n";
Пиздец, O(n^2). Нахуя вообще Device* parent, если он избыточен и вполне достаточно знать QString parentUdiString ? А вот зачем: чтобы когда понадобиться полезть к родителю, можно было просто сходить по указателю, вместо вызова ещё одного WTF:
Device *Hal::findDevice(const QString &deviceUdi) {
foreach (Device* device,storageDevicesList)
if (device->udi() == deviceUdi)
return device;
return 0;
}
Блядь, ну для чего-то же существует QHash, ну какого хуя в 21 веке делать тупорылый поиск? И нахуя Device делать объектом, если на самом деле хватает typedef struct?
Интересно, чего я такого покурил когда два года назад писал эту поебень?
no subject
2010-08-19 14:27 (UTC)no subject
2010-08-19 16:26 (UTC)Помню, в любой старой книжке по Паскалю обязательно показывалось, как реализовывать linked lists, стек и очередь - уже и на этом спасибо)
no subject
2010-08-20 07:39 (UTC)Короче компухтер сайнс образца 1950, и это в книжке 1981 года!