Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];

Вниз

Хороший тон программирования   Найти похожие ветки 

 
Zhenka   (2003-02-16 12:50) [0]

Иногда в источниках встречается "Исп. этой ф-ии - плохой тон!"!"
А как отличить Хороший тон от плохого
============================
Edit1.text:="Bad";
Edit1.Hint:="MegaBad";
Edit1............;
=======плохой тон???======
===========================
With edit1 do
begin
text:="Rulez";
Hint:="MegaRulez";
end;
=====Хор.тон??======


 
ZeroDivide   (2003-02-16 12:58) [1]

Да это фича такая. Язык то эволюционирует и некоторые функции отмирают. Споры вот до сих пор идут про мой любимый оператор
GOTO, а между тем это что ни на есть(или нинаесть?) самый быстрый short jamp.


 
Anatoly Podgoretsky   (2003-02-16 12:58) [2]

У меня другое мнение, противоположное.
Теперь ответ, видишь в моем вопросе слово мнение


 
Cr@sh   (2003-02-16 13:00) [3]

Использование goto плохой тон, а так пиши в свое удовольствие... хороший тон, плохой тон... фигня это все :)


 
Zhenka   (2003-02-16 13:05) [4]

Может"Плохой тон" реализует кое что медленнее чем "Хороший",
или вопрос касается только синтаксиса?


 
Юрий Зотов   (2003-02-16 13:12) [5]

> Cr@sh © (16.02.03 13:00)
> хороший тон, плохой тон... фигня это все :)

Прогоните в большом цикле 2 варианта, которые привел Zhenka в вопросе. Сравните их по времени исполнения.

Или еще пример - замена запятых на точки:

1. Плохой тон.
while Pos(",", StringList.Text) > 0 do
StringList.Text[Pos(",", StringList.Text)] := ".";

2. Хороший тон.
S := StringList.Text;
P := Pos(",", S);
while P > 0 do
begin
S[P] := ".";
P := Pos(",", S)
end;
StringList.Text := S;

Тоже сравните в большом цикле по времени исполнения.




 
Юрий Зотов   (2003-02-16 13:17) [6]

> Zhenka © (16.02.03 13:05)

Плохой тон - это ненадежный, медленный, громоздкий код, жрущий много памяти и других ресурсов. И т.д.

Хороший тон - наоборот.

Как добиться хорошего тона:
1. Много читать.
2. Думать над каждой буквой в программе. Никогда не халтурить даже в мелочах. Это должно войти в привычку.
3. Опыт и еще раз опыт.


 
Юрий Зотов   (2003-02-16 13:21) [7]

Добавление:

3. Тон еще лучше:
S := StringList.Text;
for i := 1 to Length(S) do
if S[i] = "," then S[i] := ".";
StringList.Text := S;


 
Zhenka   (2003-02-16 13:36) [8]

Спасибо, вродебы всё понятно


 
Shadow   (2003-02-16 13:47) [9]

Бред какой-то... Если руки кривые - никакое знание хорошего или плохого тона не поможет.

2All
Интересно, что вы скажите про хороший и плохой тона в Ассемблере.


 
Anatoly Podgoretsky   (2003-02-16 13:55) [10]

Индетично, теже слова, есть там и хорошие и плохие методы, можем назвать их тоном.
Вот пример
MOV EAX, 12
MOV EAX, CR


 
Shadow   (2003-02-16 14:32) [11]

2Anatoly Podgoretsky
Ассемблер не тот язык, где богатство выбора. И методы, есть суть факт непреложные, не тон.


 
Serious Sam   (2003-02-16 14:49) [12]

>как отличить Хороший тон от плохого

Если сертифицированный мастак рекомендует, значит хороший тон!...

:o)


 
Anatoly Podgoretsky   (2003-02-16 15:04) [13]

Shadow © (16.02.03 14:32)
Ты просил приветси пример плохого и хорошего тона в ассемблере, я привел самый простейший случай, свободы для творчества там много, особо учитывая объектно ориентированные расширения и макросы.


 
kaif   (2003-02-16 15:14) [14]

Хороший тон это придерживаться определенных сложившихся традиций в конкретной области. Но это не догма. Если нарушение традиции дает заметный выигрыш в чем-то, то можно на это пойти. Но нарушение традиции должно быть оправдано веским аргументом.
А в сотальном я согласен с

>Юрий Зотов © (16.02.03 13:17)
>Как добиться хорошего тона:
>1. Много читать.
>2. Думать над каждой буквой в программе. Никогда не халтурить >даже в мелочах. Это должно войти в привычку.
>3. Опыт и еще раз опыт.



 
Zhenka   (2003-02-17 05:24) [15]

Вспомнил!!
Из FAQ- "но учтите - Использование WinExec - Плохойтон, лучше исп. ShellExecute."
Что бы это значило??
=========================
function WinExec(lpCmdLine: LPCSTR; uCmdShow: UINT): UINT; stdcall;
=======================================
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
Directory: PChar; ShowCmd: Integer): HINST; stdcall;
======================================
Делают в принципе одно и тоже, только у Шела параметров побольше!!!


 
Zhenka   (2003-02-17 05:26) [16]

Вспомнил!!
Из FAQ- "но учтите - Использование WinExec - Плохойтон, лучше исп. ShellExecute."
Что бы это значило??
=========================
function WinExec(lpCmdLine: LPCSTR; uCmdShow: UINT): UINT; stdcall;
=======================================
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
Directory: PChar; ShowCmd: Integer): HINST; stdcall;
======================================
Делают в принципе одно и тоже, только у Шела параметров побольше!!!


 
Думкин   (2003-02-17 06:23) [17]

С
> kaif © (16.02.03 15:14)
> >Юрий Зотов © (16.02.03 13:17)
> >Как добиться хорошего тона:
> >1. Много читать.
> >2. Думать над каждой буквой в программе. Никогда не халтурить
> >даже в мелочах. Это должно войти в привычку.
> >3. Опыт и еще раз опыт.

тоже согласен, но иногда бывает сроки жмут, потом правда, себя как на пополам распиленым чувствуешь, и урываешь время ... приводишь код в соответствие с внутренним духовным циклом. %-)))
Терпеть ненавижу использование в описаниях класса конкретных экземпляров (кроме понятно Application, Screen). А в других моментах - ... ну плохо это. Да и ало ли.


 
Zhenka   (2003-02-17 06:45) [18]

Акак узнает Юзер, что при написании прг я ип-л методы, которые нз-т в народе Плохим тоном??


 
Думкин   (2003-02-17 06:49) [19]


> Zhenka © (17.02.03 06:45)

Может и не узнает. Хотя дерьмовые проги бывает сразу видно.
Но тут ведь как - "картины для души и на продажу". Что делаешь - оттуда и ответ.


 
Radionov Alexey   (2003-02-17 07:22) [20]

>Zhenka © (17.02.03 06:45)
Каждая новая версия глючнеее и тормознее - имхо верный признак Плохого тона.


 
Zhenka   (2003-02-17 07:28) [21]

2Radionov Alexey
Исходя из этого МЕлкософт Ваще чёто плохо програмит, иначе зачем сервис паки Хорошим прогам (ПРимер Флэш гет)


 
Radionov Alexey   (2003-02-17 07:42) [22]

>Zhenka © (17.02.03 07:28)
Про "МЕлкософт", вернее про Windows почитай книжки Руссиновича а потом решим что именно становится глючнее и тормознее.


 
Zhenka   (2003-02-17 07:46) [23]

2Radionov Alexey
Нема книги, может подскажеш откуда закачать??

>Каждая новая версия глючнеее и тормознее --Э не
Глюки зависят не толькао от Того Что и как ты в прг напишеш, но и насколько качественно написана платформа, под которой работает твоя прг.



 
Юрий Зотов   (2003-02-17 09:45) [24]

> Zhenka © (17.02.03 05:26)
> Из FAQ- "но учтите - Использование WinExec - Плохойтон, лучше
> исп. ShellExecute."
> Что бы это значило??

Читаем справку:

This function is provided for compatibility with earlier versions of Windows. For Win32-based applications, use the CreateProcess function.

И еще:
Obsolete Functions - WinExec, Yield.

Это значит, что в очередной версии Windows эта функция может уже и не поддерживаться. Соответственно, программа под ней работать не будет.


> Zhenka © (17.02.03 06:45)
> Акак узнает Юзер, что при написании прг я ип-л методы, которые
> нз-т в народе Плохим тоном??

Например, поставит себе супер-пупер-современную Windows, а программа под ней работает. Вот так и узнает. И обязательно что-нибудь скажет о такой программе и о ее авторе.


 
Думкин   (2003-02-17 10:22) [25]


> Юрий Зотов © (17.02.03 09:45)

То бишь - не работает? А то запутаете мужиков. :-)


 
Zhenka   (2003-02-17 15:42) [26]

Ну мало по мальски понимаю.
Спасибо всем за всё



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.008 c
3-16868
Roman Go
2003-02-18 10:12
2003.03.06
Нужно ли устанавливать ACCESS, если я использую *.mdb


3-16872
wara
2003-02-13 15:15
2003.03.06
Загрузка данных в БД из Internet-Explorer


7-17407
Palladin
2003-01-07 22:16
2003.03.06
потоки в Dll


3-16962
shu_3d
2003-02-17 11:01
2003.03.06
Создание таблиц в программе


3-16927
Itap
2003-02-14 16:24
2003.03.06
Я уже не знаю что делать





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский