Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Distinguir variables de constantes (https://www.clubdelphi.com/foros/showthread.php?t=39461)

Delphius 20-01-2007 06:58:36

Distinguir variables de constantes
 
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:

Código Delphi [-]
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

Cita:

Empezado por Lepe
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.

Cita:

Empezado por Lepe
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):


Código:

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

Gracias Lepe
 
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:
Código Delphi [-]
{****
@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?
 
¿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,


La franja horaria es GMT +2. Ahora son las 20:27:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi