PDA

Ver la Versión Completa : Distinguir variables de constantes


Delphius
20-01-2007, 06:58:36
Esta es una pregunta tonta. Y no hay apuro en responder... me estaba preguntando si ¿hay alguna manera de que Delphi me resalte de forma distinta a variables y constantes?

Si uno entra al Tools -> Editor Options -> Solapa Color puede cambiar el color, y otros formatos para el código, comentario, etc.

Pero... (siempre hay alguien con un pero:D) si uno quiere que Delphi (yo uso la versión 6) distinga a las variables de las constantes no se puede. Pues, ambas las interpreta como identificadores (lo cual es correcto), pero.. y si uno (o sea yo.. y tal vez el único:D:rolleyes:) quiere que este efecto no se el deseado... ¿Como le hacemos:confused:?

Saludos,

Lepe
20-01-2007, 09:53:22
la cosa es simple:


const RESALTA_ESTO_EN_MAYUSCULAS = 30;

var variable_en_minusculas_siempre:integer;


El resaltado es evidente no??? jejeje.

Como dicen por aquí, más vale maña (imaginación) que fuerza ;).

Saludos

Delphius
21-01-2007, 05:56:40
la cosa es simple

Sabía que alguien pondría algo así. Y si... ¡es muy simple! Creo que la gran mayoria hace eso. Y yo no soy la excepción.


Como dicen por aquí, más vale maña (imaginación) que fuerza ;)

Y si, ¿pero cuando la imaginación se cansa? Se acaban los buenos sistemas... jajaja...

Bueno, a ver,.. estoy demasiado contento: Ganó River a Boca, las leonas le ganaron a Australia (jokey femenino) y van a la final mañana... Me tengo que concentrar... :D

Es evidente ese "artilujio"; es más... prácticamente nos "programaron" de ese modo. A lo que voy es que se llega a un momento en que a la vista se le cansa de detectar mayusculas y minúsculas. Bueno, por lo menos a mi. Buscaba alguna manera de hacer más sencillo mi trabajo, en especial cuando se trata de documentar software.

¿De que se trata esto? Yo, como buen chico medio opa, y por amor al arte de la ingeniería mido el uso de constantes, variables, y un largo etc. Y con esto trazo diagramas para determinar la calidad y diseño de mis sistemas. Y tener una muy buena ayuda visual (aparte de las mayus y minus) es algo a valorar.

Tal vez esté volando por la red algún plugin... que me brinde algo cercano (me voy a poner de cazería) Y si no hay, bueno... que se la va a hacer... después de todo... no es obligación buscarle demasiada vuelta.

Lepe
21-01-2007, 10:17:32
icarus analyzer, aunque de pago es muy bueno analizando software.

Con ESSModel (open source) se puede documentar, principalmente las clases (algo así como los diagramas de BDS2006), relaciones entre ellas, en htm con hiperenlaces.

Tengo apuntado que DelphiCodeToDoc crea 400 páginas web con las variables tipos y demás, muy completo y solo especificando el .dpr

pro-analyzer (demo) incluye unos 10 tipos de informes:

A report of unusual conditions detected during processing. Items detected include: variables that were not set, variables that were not used, value params reset & invalid real compares.

A list of data elements used by the system in alphabetical order, with their scope, type and definition location.
A list of any duplicate identifiers used, in alphabetical order, with their scope, type and definition location.

A list of the files used by the system and summary of their contents in alphabetical order.
A cross reference of all global identifiers, indicating their usage by subprogram, with their scope, type and references.

A list, in report form, of the subprogram comment blocks that were generated for insertion as headers into the source code.

A system cross reference of all identifiers, indicating their usage by subprogram, with their scope, type and references.

A list of the subprograms used by the system in alphabetical order with their file location.
Source code listing with syntax highlighting.

A traditional cross reference by subprogram, an alphabetical list of identifiers, with their scope, type and references.

A logic map of the program's structure at the subprogram call level. The map may optionally include externals, and brief descriptions of the subprograms. Occurrences of ordinary, mutual and indirect recursion are detected, if present in the program.

A diagram of the object hierarchy for the objects encountered in the program.
A survey of the subprograms used in the system. The 'path' count indicates the number of independent paths in the code, a commonly used measure of program complexity. The various line counts give an indication of subprogram size and quality.

Saludos

Lepe
21-01-2007, 10:33:20
Acabo de hacer la prueba con DelphiCodeToDoc (open source) y este es el resultado (en página web, claro):



Classes

Class Description
TFrmPpal #No TAG found in source code#

Types

Type Description
Tcadena #No TAG found in source code#
TEstado #No TAG found in source code#
TSortD #No TAG found in source code#

Constants

Constant Description
cANTELACION #No TAG found in source code#
cFECHAAVISO #No TAG found in source code#
cFECHANOTA #No TAG found in source code#
cHOY #No TAG found in source code#
cPASADAS #No TAG found in source code#
cPENDIENTES #No TAG found in source code#
cTEXTO #No TAG found in source code#
cTIPONOTA #No TAG found in source code#
cTODAS #No TAG found in source code#
fAnual #No TAG found in source code#
fHoy #No TAG found in source code#
fMensual #No TAG found in source code#
fSemanal #No TAG found in source code#
fTodas #No TAG found in source code#
MsgTotalNotas #No TAG found in source code#

Variables

Variable Description
FrmPpal #No TAG found in source code#

Functions

Function Description

Delphius
22-01-2007, 08:10:12
Muchisimas gracias Lepe. Voy a probar esas herramientas que mencionas (las open source:D, claro...) De alguna manera le voy a sacar provecho.

Saludos,

Delphius
22-01-2007, 22:41:33
DelphiToDoc es muy bueno. Lo estuve probando y tiene sus potencias... pero también sus debilidades: exige que los comentarios para generar los campos (los JavaTag) se declaren antes del procedimiento/función/clase/unidad.
Algo como:

{****
@description Cambia el valor de la propiedad Cantidad
@param Valor Nuevo valor a tomar
*****}
procedure SetCantidad(Valor: integer);
....

Y Lástima que no tenga tradución al castellano. Pero por lo demas pinta bien.

Ahorita ando viendo el ESSModel y tal parece que ese me va a venir de pelos para POO.

Solo me faltaría algo que me muestre un grafo de complejidad ciclométrica y calcule la complejidad computacional y estoy hecho:D!

Nuevamente muchas gracias,

Saludos,

Lepe
23-01-2007, 11:27:17
Si dispones de las GExperts, modifica la macro ph (procedure Header) para anteponer el texto "@param" con lo que ya quedarían documentados ;).

No lo he probado, quizás sirva y quizás no.

Saludos

Delphius
24-01-2007, 04:50:56
¿GExpert? No no la uso.
Y ahora que recuerdo, intenté instalar JEDI pero como se trata de una versión de Delphi sin registrar (porque sólo la empleo para uso academico) no me dejaba instalarla.

He oido nombrar en estos foros de GExpert, pero la verdad nunca se me dio por averiguar de que se trata... y ahora que leo en un sitio que me paso mi hermano en donde se trataba el tema de licencias GNU, sobre el uso (y mal uso) y de modificaciones en programas bajo esta licencia me ha dado un poco de miedo de usar todo lo que sea GNU... Yo empleo mucho de esto:

DUnit
IBExpert
TWain
(otras más... que no recuerdo)
Y ahora:
DelphiCodeToDoc
ESSModel

Y la verdad que emplear estos sistemas para diseñar/mantener mi tesis me está dando mucho que pensar... Voy a consultar con mi tutor a ver que me dice de esto. Y De paso leerme bien la licencia GNU. Si bien ya le había aclarado que iba a emplear componentes/librerias para algo en concreto de mi sistema... no quiero que se arme lio por excederme.

Si me da el pase,... le sigo metiendo ganas a DelphiDoceToDoc, ESSModel, y todo lo que venga:D

Saludos,