- 1
- 2
Result := not FExecuting;
if not Result then Exit;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+92
Result := not FExecuting;
if not Result then Exit;
сейчас работаю над правкой компонента доставшегося от другого разработчика :), причем эта вершина мысли была обнаружена в недрах левого компонента, используемого моим компонентом :) ,который использовал этот разработчик :), Сам код соправождаемого мною компонента не далеко по стилю ушел от этого куска
ageron 23.12.2010 19:36 # 0
bugmenot 23.12.2010 20:10 # +4
грамматикфюрер не прощает :р
TarasB 23.12.2010 20:28 # 0
ctm 23.12.2010 21:20 # +1
Result := not FExecuting;
if FExecuting then Exit;
несколько нагляднее?
но конкретно это на говнокод не тянет.
TarasB 23.12.2010 21:32 # +1
Анонимус 23.12.2010 21:55 # +1
inkanus-gray 23.12.2010 21:55 # 0
А если Exit переопределена и в ней туча побочных эффектов?
bugmenot 23.12.2010 22:40 # 0
FadedInto 24.12.2010 00:33 # +4
bugmenot 24.12.2010 00:59 # 0
FadedInto 24.12.2010 00:53 # +2
bugmenot 24.12.2010 01:00 # 0
FadedInto 24.12.2010 01:01 # 0
TarasB 24.12.2010 10:59 # 0
А вот fexecuting - может быть и переопределена.
Например, if OpenDialog1.Execute - с побочным эффектом, хотя по её виду не скажешь. Было бы Execute() - было бы понятно, но нет же, почему-то решили освободить паскалистов от написания двух скобочек, спасибо Вирту, блять, за это, а ещё спасибо ботланду за проперту, с которыми, блять ваще хуй поймёшь, что где, потому что она косит под переменную, а на самом деле это сраный вызов метода. Я вообще проперти в своих классах не использовал никогда (кроме когда совсем зелёный был) именно из-за этой путаницы, я лучше буду писать SelColor($123456) и сразу видеть, что это хитрожопый метод, но нет же, Color := $123456 - это же так модно смотрится, так сишарпненько, пидарасы, блять.
bugmenot 25.12.2010 02:32 # 0
StriderMan 13.01.2011 14:38 # +1
Проперти позволяют с одной стороны сохранять инкапсуляцию а с другой делать код более естественным.
TyVin 31.01.2011 16:37 # 0
TyVin 31.01.2011 16:51 # −1
хотя, конечно, так вроде приоритеты другие и ничего не заработает
FadedInto 24.12.2010 00:36 # 0
Приставка F кагбэ намекает на просто field. Но да, лучше перепроверить :)
ctm 24.12.2010 18:24 # +1
1) префикс F - по стандарту это поле
2) сам пишу всегда с пустыми скобочками, чтобы другим было видно, что это функция
bugmenot 23.12.2010 22:36 # 0
guest 23.12.2010 22:38 # +5
TarasB 24.12.2010 11:05 # +1
guest 25.12.2010 18:05 # 0
ageron 24.12.2010 01:05 # −4
if not not FExecute then Exit; что равносильно:
if FExecute then Exit;
вот это и есть говнокод. тупое непонятное решение которое просто и изящно можно записать 1 строчкой. Уж недумал что все настолько слепые. а вы начинаете тут полемику разводить функция/не функция
bugmenot 24.12.2010 01:14 # 0
FadedInto 24.12.2010 01:14 # +3
ageron 24.12.2010 10:27 # −4
bugmenot 24.12.2010 10:44 # 0
TarasB 24.12.2010 11:06 # +1
TarasB 24.12.2010 14:39 # 0
inkanus-gray 24.12.2010 14:43 # 0
TarasB 24.12.2010 14:55 # 0
Вообще это я типа пошутил, потому что закладываться на особенности внутренней реализации - это говнокодно.
bugmenot 24.12.2010 20:52 # 0
TarasB 24.12.2010 21:51 # +1
Ну может компилятор в еах поле суёт перед сравнением, хотя тут не знаю.
bugmenot 24.12.2010 23:32 # 0
это ж не брутальный asm ret end
inkanus-gray 25.12.2010 01:09 # +2
bugmenot 25.12.2010 02:29 # 0
guest 24.12.2010 21:08 # 0
DropWorld 24.12.2010 19:44 # −2
Я только что узнал, что функция может вызываться и без скобочек...