> -- Андрей писал(а):
> Документ по стилю не помню, но кажется там не было ничего касающегося именования.> -- Цитата:
> In general, each identifier starts with a small letter, except• A module name always starts with a capital letter• A type name always starts with a capital letter• A procedure always starts with a capital letter, this is true for procedure constants, types, variables, parameters, and record fields.Good	null = 0X;	DrawDot = PROCEDURE (x, y: INTEGER);	PROCEDURE Proc (i, j: INTEGER; Draw: DrawDot);Bad	NULL = 0X;	PROCEDURE isEmpty (q: Queue): BOOLEAN;	R = RECORD		draw: DrawDot	END;Don't use all-caps identifiers with more than one character. They should be reserved for the language.• A proper procedure has a verb as name, e.g. DrawDot• A function procedure has a noun or a predicate as name, e.g. NewObject(), IsEmpty(q)• Only declare a record type if necessary (FooDesc for each Foo are normally not needed anymore)• Procedure names which start with the prefix Init are snappy, i.e., they have an effect only when called for the first time. If called a second time, a snappy procedure either does nothing, or it halts. In contrast, a procedure which sets some state and may be called several times starts with the prefix Set.Examples	PROCEDURE InitDir (dir: Directory);	PROCEDURE (p: Port) Init (unit, colors: LONGINT);• Guard procedures have the same name as the guarded command, except that they have a Guard suffix appended.Example	PROCEDURE PasteChar;	PROCEDURE PasteCharGuard (VAR par: Dialog.Par);