- 1
- 2
- 3
- 4
- 5
// Этот говняжный кусочек кода лечит работу козьих шариков.
for iter := 0 to staticSet.fields.Count - 1 do
if staticSet.fields[i].IsNull then
;
// Конец говняжного кусочка кода
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+98.5
// Этот говняжный кусочек кода лечит работу козьих шариков.
for iter := 0 to staticSet.fields.Count - 1 do
if staticSet.fields[i].IsNull then
;
// Конец говняжного кусочка кода
Вкратце: staticSet - декоратор (обертка) для ADO Recordset; чтобы синхронизировать обертку и носителя, надо было дернуть любой метод. Автор выбрал R/O property IsNull. Но каков вброс. Комментарии прошу считать частью кода. Если учесть, что плотность комментариев 1 на примерно 60 КБ кода.
Oleg_quadro 09.11.2009 15:02 # 0
Oleg_quadro 09.11.2009 15:03 # 0
Oleg_quadro 09.11.2009 15:06 # +1
guest 13.11.2009 20:39 # −1
Вброс, камрад, в том, что комментарий - авторский. Тот человек, который писал эти три строчки - написал комментарий. Во-первых, обычно он не пишет комментарии. Во-вторых, я при отлове жука, наткнувшись на этот комментарий, долго думал, что такое "козьи шарики". Вброс в этом. В-третьих, как справедливо замечено, можно было дернуть одно поле, чтобы синхронизировалась вся обертка.
guest 09.11.2009 15:51 # +1
if ... then
;
guest 13.11.2009 20:46 # 0
Шаришь. Мне еще нравится название iter.
"Академически" такие циклы пишутся примерно так:
with staticSet do
for i := Fields.Count - 1 do
Fields[i].IsNull;
При таком подходе @staticSet попадает в EDI, propget Fields, возвращающий поле, вызывается inline, i рискует попасть в ECX, propget Count не вызывается на каждой итерации, и ненужная пара TEST EAX,EAX / JZ @..., порождаемая IF, отсутствует. Ежу ясно, что в конкретном случае - фигня. А если весь проект сделан из такой фигни - становится печально.
guest 13.11.2009 21:19 # 0
ессна.
guest 17.12.2009 01:38 # −2
Billy the Kidd 19.12.2009 10:16 # −3
То есть, ты хочешь сказать, что границы цикла вычисляются один раз перед его началом, а не на каждой итерации?
Разбегайся, камрад. И найди стену покрепче.
guest 22.12.2009 23:07 # +1
gecko 09.11.2009 16:29 # +2
Настоящий говнокод - в этой обёртке.
Клин клином вышибают.
guest 13.11.2009 20:46 # −1
Я надеюсь, ты плюс поставил? ;)