- 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.
3.14159265 21.07.2010 10:01 # 0
насколько я понял - весьма обфускатед замена фору.
vovochka 21.07.2010 11:34 # +1
оптимизация выглядит как-то так:
а если учесть замечание про recordSize == 1, то
absolut 21.07.2010 11:51 # +1
3.14159265 21.07.2010 12:49 # +1
+1
и что с pos?
тогда лучше оптимизировать так
records = ( DataSize <pos ) ? 0 : (DataSize -pos );
absolut 21.07.2010 13:10 # +1
vovochka 21.07.2010 13:57 # 0
говнокодовость - в ненужном while. остальное по сути к говнокодовости отношения не имеет.
absolut 21.07.2010 14:26 # +3
bugmenot 26.08.2010 01:35 # 0
sizeof char == 1 foreva :-D
я вот тоже pos интересуюсь...
vovochka 26.08.2010 06:09 # 0
bugmenot 27.08.2010 17:23 # 0
Это вам не #define UNICODE написать =)