- 1
- 2
- 3
- 4
- 5
- 6
- 7
recordSize=logicalRecordLength;
BytesToRead=cnt*recordSize;
records=cnt;
while ( ((pos + BytesToRead)>dataSize)&&records )
{
BytesToRead = --records * recordSize;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+136
recordSize=logicalRecordLength;
BytesToRead=cnt*recordSize;
records=cnt;
while ( ((pos + BytesToRead)>dataSize)&&records )
{
BytesToRead = --records * recordSize;
}
Не думал, что у нас в коде встречу нечто явно похожее на пример №2 из статьи "Индусский код" на Луркморе.
Ну и стоит добавить, что реально logicalRecordLength всегда равен 1.
насколько я понял - весьма обфускатед замена фору.
оптимизация выглядит как-то так:
а если учесть замечание про recordSize == 1, то
+1
и что с pos?
тогда лучше оптимизировать так
records = ( DataSize <pos ) ? 0 : (DataSize -pos );
говнокодовость - в ненужном while. остальное по сути к говнокодовости отношения не имеет.
sizeof char == 1 foreva :-D
я вот тоже pos интересуюсь...
Это вам не #define UNICODE написать =)