![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Относительно BoolToStr
Павел В. © (2010-12-23 17:21:00)Сегодня прочитал тему http://www.programmersforum.ru/showthread.php?t=38467, в которой на примере BoolToStr сказано, что создатели VCL - дилетанты. С виду, они правы, можно сделать намного проще. Но, с другой стороны, создатели тоже не дураки и для чего-то написали именно так.
Мой вопрос простой: скажите, кто прав? :) И почему действительно написано именно так?
KilkennyCat (2010-12-23 18:05:00) [21]
> Rouse_ © (23.12.10 17:32) [2]
>
> и в function TryStrToBool(const S: string; out Value: Boolean):
> Boolean;
>
> Result := CompareWith(TrueBoolStrs);
> if Result then
> Value := True
ну это неудачный пример, в таком огрызке это оправдано.
а вот мне где-то в исходниках встречался комментарий типа "мы это добавили, потому что без этого не работает, а почему - не знаем". Если память не изменяет, у TMSSoftware вроде бы.
Плохиш (2010-12-23 17:37:00) [22]
> function booltostr(value:boolean;truestr:string='1';falsestr:
> string='0';errorstr:string=' '):string;
Вот это и есть бред психопата.
Упрощение кода, так сказать.
Ega23 (2010-12-23 17:36:00) [23]
> в которой на примере BoolToStr сказано, что создатели VCL
> - дилетанты.
Дилетанты те, кто это сказал, так как они не дружат с формальной логикой.
Если некоторыефункции в VCL написаны неверно, то это не означает, что всеразработчики дилетантов - VCL-щики
RWolf (2010-12-23 17:33:00) [24]Видимо, этот код писался с прицелом на возможность возврата нескольких вариантов строк, но по какой-то причине его не закончили и остановились на одной строке для True и одной для False;
ну, хотя бы возможность настройки строк оставили, тоже неплохо.
да неважно это совершенно — строки нужны для вывода куда-то, а он и так всегда тормозной.
Сергей М. (2010-12-23 17:32:00) [25]Если бы Борланд при разработке VCL потакала блажи всяких Квэнди, то VCL вообще бы не вышла в свет)
Цитата из "перлов" преподобного Квэнди:
function booltostr(value:boolean;truestr:string='1';falsestr:string='0';errorstr:string=' '):string;
begin
try
if value then
result:=truestr
else
result:=falsestr;
except
result:=errorstr;
end;
end;
Это, спрашивается, что вообще за бредятина с исключением и errstr ?
Rouse_ (2010-12-23 17:32:00) [26]Ну там перлов и так много :)
и в function TryStrToBool(const S: string; out Value: Boolean): Boolean;
Result := CompareWith(TrueBoolStrs);
if Result then
Value := True
Плохиш (2010-12-23 17:29:00) [27]
> сказано, что создатели VCL - дилетанты
Зачем сюда всякий бред постить?