Обсуждение:Магическая кнопка
Эта статья выставлялась на удаление и была оставлена. Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/9 сентября 2013. Повторное выставление допустимо лишь при наличии аргументов, не рассмотренных в прошлых номинациях, при изменении обстоятельств вокруг предмета статьи или изменении правил Википедии, в противном случае повторная заявка будет быстро закрыта. |
Проект «Информационные технологии» (уровень III, важность для проекта низкая)
Эта статья тематически связана с вики-проектом «Информационные технологии», цель которого — создание и улучшение статей по темам, связанным с информационными технологиями. Вы можете её отредактировать, а также присоединиться к проекту, принять участие в его обсуждении и поработать над требуемыми статьями. |
Обсуждение
[править код]я бы POV поставил бы//Berserkerus 10:29, 5 июля 2008 (UTC)
Значимость
[править код]Узколобый пуризм, на мой взгляд. Дело в том, что анти-паттерном это становится с ростом кода обработчика события. В нормальном процессе разработки код начинается именно в методах, сгенерированных в дизайнере, и в процессе роста распределяется по методам, выполняющим атомарные операции. Или не распределяется. Вот тогда - плохо. Статья же усматривает причину в базовой концепции визуального дизайна и зачем-то предает ее анафеме. Кстати, о пуризме. Нотация в коде "плохого примера" - ужасающая. Как только в методе наберется 3-4 атомарные операции - он станет совершенно нечитаемым из-за этих reg, str, итп. О том, когда нужно извлекать код в отдельные методы: формально это невозможно определить, но в моей тулзе для рефакторинга критика "длинный метод" появляется когда анализатор встречает метод состоящий из более чем 40 строк. © Al Leween 20:38, 9 сентября 2009 (UTC)
Качество никуда не годится
[править код]Статья в таком виде несёт крайне мало полезной информации, особенно ужасен "хороший пример". Если сохранить эту сомнительную задачу как пример, более-менее адекватный код "без магической кнопки" можно сделать так:
procedure TForm1.SavePreferences(const FileName: string);
begin
with TRegistry.Create do
try
RootKey := HKey_Current_User;
if OpenKey('Software\MyCompany', true)
then WriteString('Filename', FileName)
else raise Exception.Create('Can''t save preferences');
finally
Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SavePreferences(Edit1.Text);
end;
Хотя вообще-то лучше бы всю статью переписать полностью. Это просто в целом неадекватно.
217.74.47.124 10:29, 25 июня 2012 (UTC) Softwarer