PDF de programación - Formateo estándar de C/AL

Imágen de pdf Formateo estándar de C/AL

Formateo estándar de C/ALgráfica de visualizaciones

Publicado el 3 de Diciembre del 2020
293 visualizaciones desde el 3 de Diciembre del 2020
824,8 KB
15 paginas
Creado hace 18a (13/02/2006)
Formateo estestáándar
Formateo
C/ALC/AL®®

ndar de de

IvIváán Archilla Romero.
n Archilla Romero.
Support & Training
& Training
Support

Formateo de de ccóódigodigo
Formateo
Espacios separadores
separadores
Espacios

SSeparar
--

eparar con un
ambos lados
ambos

lados de un

operador binario

espacio
con un espacio
de un operador
y := (a + b) / 100;
y := (a + b) / 100;
y := (a+b)/100;
y := (a+b)/100;
de un comentario
comentario
i := i + 1; // incrementar
incrementar
i := i + 1; //

binario (+ / := etc)
(+ / := etc)

texto de un

// // incrementar

incrementar ííndice

ndice i := i
i := i

--

-- BIEN
BIEN
-- MAL MAL
barras y texto
barras y
-- BIEN
BIEN
ííndice
ndice
-- BIEN
BIEN

+ 1;
+ 1;

NNo o separar
separar
-- operador

operador monario

monario y y susu argumento
argumento

-- BIEN
BIEN
y := --x;x;
y :=
-- MAL MAL
y := -- x;x;
y :=
-- loslos ííndices
ndices de de unauna matrizmatriz
-- BIEN
BIEN
a[i][j] := b;
a[i][j] := b;
-- MAL MAL a[I] [j] := b;
a[I] [j] := b;

Formateo de de ccóódigodigo
Formateo
Indentacióónn
Indentaci

Indentar siempre
Indentar

con dos espacios
siempre con dos
espacios..
BIEN IF a <> '' THEN
IF a <> '' THEN

-- BIEN

Record.TESTFIELD(b); );
Record.TESTFIELD(b

-- MALMAL IF a <> '' THEN
IF a <> '' THEN
Record.TESTFIELD(b); );
Record.TESTFIELD(b

SiSi unauna expresi
partes de forma
partes

de C/AL tiene

expresióónn de C/AL
de forma clara
clara..
-- BIENBIEN
IF NOT SETCURRENTKEY(aaaaaaaa,bbbbbbbb,cccccccc
IF NOT

SETCURRENTKEY(aaaaaaaa,bbbbbbbb,cccccccc,,

caracteres, , dividirla

tiene mmááss de de unos

dividirla y y alinear

100 caracteres

unos 100

alinear sussus

THEN
THEN

SETCURRENTKEY(bbbbbbbbbbb,aaaaaaaaa););
SETCURRENTKEY(bbbbbbbbbbb,aaaaaaaaa

dddddddd,eeeeeeee););
dddddddd,eeeeeeee

Los Los parparééntesis

ntesis de la

de la izquierda

izquierda deben

deben alinearse

alinearse con

con loslos de la

de la llííneanea precedente
precedente..

-- BIEN

BIEN aaaaaaaaa

aaaaaaaaa := := ROUND((xxxxxxxxx/yyyyyyyyyy

ROUND((xxxxxxxxx/yyyyyyyyyy) *) *

(1 + zzzzzzzz
(1 +

zzzzzzzz / 100),0.00001);
/ 100),0.00001);

-- BIEN

BIEN IF (xxx <> '') AND
IF (xxx <> '') AND

((A = 1) OR
((A = 1) OR
(B = 2))
(B = 2))

THEN ...
THEN ...

Formateo de de ccóódigodigo
Formateo
ParParééntesis
ntesis
USAR PARÉÉNTESIS
USAR PAR
operadores..
operadores
BIEN
BIEN

NTESIS ssíí y y ssóólolo sisi hay hay queque modificar

modificar la

la precedencia

precedencia de de

IF IF Registrado

Registrado AND ("No." <> '') THEN
AND ("No." <> '') THEN

x := a + b
x := a + b

ELSE
ELSE

x := b / (a + b);
x := b / (a + b);

-- MALMAL
compilar]]

al al compilar

IF IF Registrado

Registrado AND "No." <> '' THEN [

AND "No." <> '' THEN [dada error
error

x := a + b
x := a + b

ELSE
ELSE

x := b / a + b; [resultado
x := b / a + b; [

resultado diferente

diferente]]

-- BIEN

BIEN IF a > b THEN
IF a > b THEN

-- MALMAL

a := 0;
a := 0;

IF (a > b) THEN
IF (a > b) THEN

a := 0;
a := 0;

NO USAR PARÉÉNTESIS en
NO USAR PAR

NTESIS en llamadas

llamadas a a funciones

funciones sin sin parparáámetros
metros..

-- BIEN
-- MALMAL

BIEN RegistrarL
RegistrarLííneanea;;
RegistrarLííneanea();
();
RegistrarL

Formateo de de ccóódigodigo
Formateo
Opciones
Opciones

Expresar laslas opciones
Expresar

opciones de de campos

campos o variables de forma

o variables de forma explexplíícitacita..

-- BIEN
BIEN
-- MALMAL

-- BIENBIEN

-- MALMAL

IF IF Tipo
IF IF Tipo

Tipo = = Tipo::Oferta
Tipo = 0 THEN
= 0 THEN

Tipo::Oferta THEN
THEN

Tipo IN [

IF IF Tipo
CASE Tipo
CASE

Tipo OFOF

IN [Tipo::Pedido,Tipo::Factura

Tipo::Pedido,Tipo::Factura] THEN
] THEN

Tipo::Pedido,Tipo::Factura::
Tipo::Pedido,Tipo::Factura

Tipo IN [1,2] THEN
IN [1,2] THEN

IF IF Tipo
CASE Tipo
CASE

Tipo OFOF

ELSE
ELSE

x := y;
x := y;

y := x;
y := x;

END;
END;

0,1:
0,1:

ELSE
ELSE

x := y;
x := y;

y := x;
y := x;

END;
END;

Formateo de de ccóódigodigo
Formateo
IF THEN ELSE (1)
IF THEN ELSE (1)
IF y THEN van en la mismamisma llííneanea. ELSE
IF y THEN van en la

-- BIEN

BIEN IF x = y THEN
IF x = y THEN

x := x + 1
x := x + 1

ELSE
ELSE

SiSi hay hay condiciones
condiciones largas
BIEN IF (

-- BIEN

x := --x x -- 1;1;
x :=
largas, THEN
xxxxxxxx = = yyyyyy) AND
) AND

IF (xxxxxxxx

((aaaaaa = = bbbbbbbb

bbbbbbbb))

. ELSE vava en en llííneanea separada
separada..

, THEN vava en en llííneanea separada

separada, , alineado

alineado con IF.
con IF.

y := b;
y := b;
condicióónn normalmente

normalmente cierta

La La condici

-- BIEN

BIEN IF IF Condicion

Condicion THEN
THEN

cierta se pone en la

se pone en la clcláásulasula THEN.
THEN.

THEN
THEN

ELSE
ELSE

x := a
x := a

regla
regla

ELSE
ELSE

excepcióónn
excepci

Formateo de de ccóódigodigo
Formateo
IF THEN ELSE (2)
IF THEN ELSE (2)

Cuando la
la condici
Cuando
considerar invertir
considerar

condicióónn eses muymuy complicada
complicada, ,
invertir laslas clclááusulas

usulas THEN y ELSE.
THEN y ELSE.

sulas queque incluyen

incluyen un EXIT no

un EXIT no deben

deben tener
tener

Las Las clcláásulas
parte ELSE.
ELSE.
parte

-- BIENBIEN IF x <> y THEN
IF x <> y THEN
EXIT(FALSE);
EXIT(FALSE);

x := x * 2;
x := x * 2;

-- MALMAL IF x <> y THEN
IF x <> y THEN

EXIT(FALSE)
EXIT(FALSE)

ELSE
ELSE

x := x * 2;
x := x * 2;

Formateo de de ccóódigodigo
Formateo
BEGIN END
BEGIN END

Cuando BEGIN
Cuando

BEGIN sigue

sigue a THEN o ELSE,

a THEN o ELSE, vava en en susu mismamisma llííneanea..

BIEN

IF x = y THEN BEGIN

BIEN

IF (x = y) AND

x := x * 2;
a := a - 3;

END;

MAL

IF x = y THEN
BEGIN

x := x * 2;
a := a - 3;

END;

(aaaaaaa = bbb)

THEN BEGIN

x := x * 2;
a := a - 3;

END ELSE BEGIN

x := x * 3;
a := 0;

END;

MAL

IF (x = y) AND

(aaaaaaa = bbb)

THEN

BEGIN

x := x * 2;
a := a - 3;

END ELSE

BEGIN

x := x * 3;
a := 0;

END;

Formateo de de ccóódigodigo
Formateo
REPEAT UNTIL/WHILE DO
REPEAT UNTIL/WHILE DO
REPEAT debe
REPEAT
UNTIL debe
UNTIL

debe irir en en unauna llííneanea acompa

acompaññadoado ssóólolo de la

debe irir solo en

solo en susu llííneanea..

de la condici

condicióónn de fin.
de fin.

-- BIENBIEN IF x < y THEN BEGIN
IF x < y THEN BEGIN

REPEAT
REPEAT

x := x + 1;
x := x + 1;

UNTIL x = y;
UNTIL x = y;
b := x;
b := x;

END;
END;

WHILE y DO van en la mismamisma llííneanea..
WHILE y DO van en la

-- BIENBIEN WHILE z < a DO BEGIN
WHILE z < a DO BEGIN

a := a + 1;
a := a + 1;
b := b -- 1;1;
b := b

END;
END;

Formateo de de ccóódigodigo
Formateo
CASECASE

alternativas, , usarusar mejormejor clcláásulas

sulas IF.
IF.

indentan dos dos espacios
espacios..
alternativas en la

hay dos alternativas
alternativas se se indentan

SiSi ssóólolo hay dos
Las Las alternativas
Cuando hay hay varias
Cuando
úúltima
ltima vava seguida
La La acciaccióónn simple (o el BEGIN de un
mmááss..
El BEGIN queque sigue
El BEGIN

varias alternativas

sigue al ELSE

seguida porpor dos dos puntos
simple (o el BEGIN de un grupo

puntos --sin sin espacio

espacio--..
grupo de de acciones

en la mismamisma llííneanea, , ééstasstas se se separan

separan porpor comas

comas --sin sin espacio

espacio-- y la
y la

acciones) ) vava en en llííneanea aparte

aparte, , indentada

indentada dos dos espacios
espacios

al ELSE vava en en susu mismamisma llííneanea..

--BIENBIEN

CASE Talla
CASE

Talla OFOF

Talla::Pequeññaa::
Talla::Peque

x := y;
x := y;

Talla::Media::
Talla::Media

BEGIN
BEGIN

x := a;
x := a;
y := b;
y := b;

END;
END;

Talla::Grande,Talla::Extra::
Talla::Grande,Talla::Extra

y := x;
y := x;

ELSE BEGIN
ELSE BEGIN

a := b;
a := b;
x := 0;
x := 0;

END;
END;

END;
END;

Mensajes al al usuario
usuario
Mensajes

General
General

mensajes de de contenido

Los Los mensajes
fichero ETXETX se se redactan
fichero

redactan en en formato

semejante a a loslos del del
formato semejante
semejante..

contenido semejante

Intentar queque el el mensaje
Intentar

mensaje quepa

quepa en en unauna solasola llííneanea..

No se usanusan barras
No se
llííneanea. . Excepci

Excepcióónn: : Dialog.OPEN
Dialog.OPEN

barras invertidas

invertidas parapara producir

producir saltos

saltos de de

FIELDNAME y y TABLENAME

TABLENAME siempre

Excepcióónn: : Dialog.OPEN

Dialog.OPEN (en

siempre queque se se
(en esteeste casocaso, no
, no

UsarUsar FIELDNAME
pueda. . Excepci
pueda
entrecomillar el el nombre
entrecomillar

nombre del campo)
del campo)

Mensajes al al usuario
usuario
Mensajes
ERROR, FIELDERROR
ERROR, FIELDERROR
ERROR, FIELDERROR
ERROR, FIELDERROR
-- El El mensaje

describir concisamente
concisamente::

debe describir

mensaje debe

a) a) ququéé estestáá mal mal
b) b) ccóómomo resolver

resolver el el problema
problema
debe acabar
de ERROR debe

mensaje de ERROR

-- El El mensaje
FIELDERROR, no.
FIELDERROR, no.
-- SiSi ERROR
ERROR tiene

acabar en en punto

punto; el

; el mensaje

mensaje de de

tiene parparáámetros

metros, , ponerlos

ponerlos en en llííneanea aparte
aparte..

-- BIENBIEN ERROR('.............. %1

ERROR('.............. %1 …… %2.',
%2.',
FIELDNAME(Campo1),Campo2);
FIELDNAME(Campo1),Campo2);

-- Advertir
Advertir al al usuario

usuario cuando

cuando NO PUEDE o DEBE

NO PUEDE o DEBE hacer

hacer algoalgo..

-- BIENBIEN ERROR('No se
-- BIENBIEN ERROR('Debe

ERROR('No se puede
puede...');
...');
ERROR('Debe introducirse

introducirse...');
...');

-- El El presente

presente eses preferible

preferible al al pasado
pasado..

-- BIENBIEN ERROR('No hay nada
ERROR('No hay nada queque registrar.');
registrar.');
-- MALMAL
ERROR('No se encontr
ERROR('No se

encontróó nada

nada queque

registrar.');
registrar.');

Mensajes al al usuario
usuario
Mensajes
MESSAGE, CONFIRM
MESSAGE, CONFIRM
MESSAGE
MESSAGE
mensaje debe
-- El El mensaje
-- Emitir
Emitir un un mensaje
escribiendo el el mensaje
escribiendo

acabar en en punto
punto..
siempre queque el el sistema

mensaje en en pasado
pasado

mensaje siempre

debe acabar

sistema termina

termina un un pr
  • Links de descarga
http://lwp-l.com/pdf18515

Comentarios de: Formateo estándar de C/AL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad