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

Вниз

Форматирование текста программ   Найти похожие ветки 

 
MsGuns   (2002-12-17 20:30) [40]

>Ihor Osov"yak © (17.12.02 19:12)
>frmPlatezka.EnablePayment := false;

Если у меня таких "переключателей в проекте с полторы сотни, чо, для каждого стандартного класса прописывать доп.свойстваи методы ? Тогда такая программа будет читаема разве что мастаками.
"Провокация" с использованием имен глобально, ИМХО, одно из достоинств ООП вообще, а Паскаля в частности. Пусть длинно, зато наглядно. Иначе давайте все будем писать что-то типа

Push Ax
Push Bx
Mov Ax,0FF0ABh
Mov Bx,Ax
Pop Ax

...

И на фига тогда объекты, свойства, методы и визуальные компоненты вообще ?


>Еще - очень раздражают имена от коверканных "русских" имен, >особенно если учесть, что кто-то их согласно английской >фонетике пишет

Да-а-а-леко не все знают английский язык в такой степени, чтобы перевести понятия "запись-проводки" и "операция-проводка" (а это не одно и то же, т.к. существуют сложные проводки) на английский язык. К тому же в английском языке я нашел только один первод на 3 абсолютно разных документа: "Платежное поручение в банк", "Платежная ведомость на зарплату" и "Кассовый расходный ордер", кои в бухгалтерском окружении именуются одним емким словом "Платежка". А мои проги читают и правят другие люди (сотрудники).

>PS MsGuns, я не из того поколения, что на html и xml "усе делает", в послужном списке есть несколько средних проектов масштаба предприятия вокруг учетных задач с десятками, а то и сотнями всяких формочек, отчетов в пределах одного арма, ну и с соотв. количеством обьектов в базе данных...

По-моему, и в воздухе не витало ничего подобного. Регулярно читаю твои посты и никаких сомнений в компетентности не возникло ни разу. Даже наоборот 8)))


С уважением.



 
dmk   (2002-12-17 20:37) [41]

А как по поводу асма?


asm
push ebx
push esi
push edi
//........

//eax <- SrcAddr
//edx <- DestAddr
mov SrcAddress, eax //SrcAddress := SrcAddr;
mov DestAddress, edx //DestAddress := DestAddr;


mov eax, 8 //


 
Asteroid   (2002-12-17 21:16) [42]

Примерно так:
<code
type TCls = class
private
Fx, Fy: Integer;
FSomething: TSomething
public
LongNamedPublicVariable: DWORD;
procedure Proc( a, b: TSomeType );
end;

procedure TCls.Proc( a, b: TSomeType );
var tmp: TSomeType;
c1, c2: Integer;
bb: Boolean;
begin
bb := false;
if ( a.Compare( b ) > 0 ) then tmp := a;
else
begin
tmp := b;
bb := true;
end;

c1 := a.Count;
c2 := b.Count;
a.arr[ 1 ] := b.arr[ 3 ];
//и все в таком роде
end;

Короче, везде пробелы, отступы два пробела, код там же, где begin и end ( кроме ограничивающих ф-цию ).


 
Asteroid   (2002-12-17 21:17) [43]

Ну зашибись! Не закрыл code!


 
Ihor Osov'yak   (2002-12-17 23:11) [44]

2 MsGuns © (17.12.02 20:30)


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


Имхо, переключателей может быть и больше, но вряд-ли к большинству из них нужен доступ извне формы... Если это нужно - то возможно стоит несколько изменить дизайн? К примеру, форма ассоциирована с неким документом. Документ проходит через некоторрые стадии - снова к примеру - сформирован, проверен, завизирован (подписан) должностным лицом, проведен... И состояние контролов однозначно зависит от стадии документа.. Так почему же не сделать свойство, соотв. стадии обработки документа ... Но это имхо, без претензий на истинность...
Да, показывает опыт, для контролов или других обьектов, которые все же должны быть "доступны" извне формы,как правило, нужно синхронно изменять свойства нескольких таких обьектов и выполнять некий код.. Так почему-же не сделать соотв. проперти?


> И на фига тогда объекты, свойства, методы и визуальные компоненты
> вообще ?

Мистер, не передергивайте :-)


> Да-а-а-леко не все знают английский язык в такой степени


Стремится к этому надо... Имхо, профессиональному программеру сегодня без знания английского очень трудновато... Для меня во всяком случае, мой уровень английского - основной сдерживающий фактор :-(

> никаких сомнений в компетентности не возникло ни разу


Да нет, я без притензий.. Я не знал, что к моей скромной персоне такое внимание ^-) Просто как-то запомнилось твоя фраза про спецов с html, она там очень кстати была.. Так вот, решил подстраховаться... Переборщил, однако... Сорри... :-)

С уважением,



 
Marser   (2002-12-17 23:13) [45]

Я пшу практически как Asteroid.


 
anpsoft   (2002-12-18 02:24) [46]

пишу так:

if a = b then begin
c := d;
f := r;
end else begin
k := 5;
g := 4;
end;

if a = b then c := d;

if a = b then c := d
else f := r;

if a = 1 then c := k
else if a = 2 then c := l;
else if a = 3 then c := m;
else c := n;

сворачиваю всегда когда это сильно не мешает как минимум, а иногда и помогает читабельности

когда куплю 24" монитор, может и не буду так ужимать, но пока у меня манюсенький Flatron 795 - всего навсего 17"

после отладки собираю короткие и близкие по смыслу строчки в одну, например инициализация переменных

все ради того чтобы побольше видеть сразу в окне





 
PVOzerski   (2002-12-18 02:26) [47]

Пишу примерно так:
uses
unit1,unit2,unit2;

procedure proc(x:longint);stdcall;
external "alibrary.dll" name "proc";

procedure proc2(a,b,c:pointer);
type
tRec=record
x,y,z:pChar;
end;
var
x:byte;
r:tRec;
begin
with r do
begin
x:=a;
if b=nil then
y:=x
else if c=nil then
begin
z:=c;
end
else
begin
y:=b;
z:=c;
end;
end;
proc(0);
end;
begin
proc2;
end.

Смысл этого кода сомнителен, так не для работы и писался.
Что сделано принципиально:
1) каждое действие - на отдельной строчке (при отладке весьма помогает);
2) else if - на одной строчке - более читабельно.
3) все операторы, включая простые, - на отдельной строчке.
Строчек вида
if a then b;
или
while not eof do readln;
не допускаю.
Помимо удобства в отладке, это повышает читабельнось (IMHO).
4) Символа #9 вне строковых/символьных констант не использую! Дабы всё выглядело примерно одинаково в разных редакторах.
5) В именах типов, где возможно, для начальных t ("type") и p ("pointer") использую строчные буквы, а смысловую часть имени начинаю с прописной. Мне так удобнее читать. К сожалению, этот принцип не всегда допустим: в D3 (на других я не проверял) были проблемы при последующей инсталляции компонентов. Лечилось заглавной первой буквой T в первом упоминании класса...

Что по привычке и отчасти от лени (читать хуже, писать легче):
1) Один отступ - один пробел.
2) между знаками и буквами/цифрами, где возможно, пробелов не оставляю.
3) текст процедуры всегда начинаю с отступом относительно её заголовка (здесь лень не причем, только привычка :^) ).



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

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

Наверх





Память: 0.54 MB
Время: 0.009 c
3-14926
dimis
2002-12-09 16:17
2003.01.06
Наследник DBGrid


3-14901
mama
2002-12-07 07:19
2003.01.06
индекс пропадает...


14-15304
Сергей Макаров
2002-12-17 21:19
2003.01.06
Красивое программирование


7-15332
lakich
2002-10-28 15:28
2003.01.06
папка с Виндой


1-15144
Fantom
2002-12-23 15:54
2003.01.06
проблемы с rich edit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский