Вниз
Скачать: CL | DM;

Вопрос для знающих....   Найти похожие ветки 

 
Olivetti   (2007-02-16 20:09) [40]

Loginov Dmitry ©   (16.02.07 16:55) [30]

Момент самый спорный. У каждого свой взгляд, как привильнее написать эту конструкцию. Лично я бы написал:

if A < B then
begin
  DoSomething;
  DoSomethingElse;
end else begin
  DoThis;
  DoThat;
end;

Читабельность от этого ну никак не пострадает.


В реальном проекте постороннему человеку, читая твой код, придется напрягаться, что может привести к нехорошим последствиям...

Вариант 1:

if (a <> b) and (b <> c) and (c <> d) and (d <> e) and (e <> f) and (f <> g) then begin
 a := b;
 b := c;
 c := d;
  // тут еще много кода
end;


Вариант 2:

if (a <> b) and (b <> c) and (c <> d) and (d <> e) and (e <> f) and (f <> g) then
 a := b;
 b := c;
 c := d;
  // тут еще много кода
end;


Вариант 3:

if (a <> b) and (b <> c) and (c <> d) and (d <> e) and (e <> f) and (f <> g) then
begin
 a := b;
 b := c;
 c := d;
  // тут еще много кода
end;


В 1-м варианте можно не заметить begin далеко в конце строки, и подумать, что при выполнении условия выполняется только строка a:= b, как в варианте 2. А 3-й вариант эту неточность прочтения исключает.


 
ProgRAMmer Dimonych ©   (2007-02-16 20:21) [41]

> vasIZmax ©   (16.02.07 19:22) [39]
> Хоть и афоризм - но ... я с ним не согласен. если бы не
> бейсик, я бы фих понял паскаль, а затем и дельфи.
Золотые слова. Кто бы что ни говорил, а идея динамических массивов (в смысле тех, которые A:array of Integer без размеров) - они в Бейсике раньше появились, в Турбо такого не было никогда.


 
Loginov Dmitry ©   (2007-02-16 21:18) [42]

> [40] Olivetti   (16.02.07 20:09)


Кто будет напрягаться? Какие еще последствия?
Ты сначала посмотрел бы внимательнее на мой вариант, прежде чем выкладывать сюда кучу ненужного кода.


 
Ketmar ©   (2007-02-16 21:25) [43]

> ProgRAMmer Dimonych ©   (16.02.07 20:21) [41]
> идея динамических массивов (в смысле тех, которые A:array
> of Integer без размеров) - они в Бейсике раньше появились

упс... а мужики опять не в курсе...



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

Скачать: CL | DM;



Память: 0.52 MB
Время: 0.029 c
2-1172073211
Патрик
2007-02-21 18:53
2007.03.11
форма


2-1171789338
DTR
2007-02-18 12:02
2007.03.11
Ошибка!!! Word


4-1162469151
toboom
2006-11-02 15:05
2007.03.11
Проблема использования таймера из MMSystem


2-1172050631
Kolan
2007-02-21 12:37
2007.03.11
Помогите найти AV


4-1162283659
Суслик
2006-10-31 11:34
2007.03.11
TInplaceEdit.Invalidate - помогите понять, что делает метод.




   Наверх