Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol COBOL - General
COBOL - General Discusiones de temática general sobre el lenguaje COBOL y todo lo relacionado con él.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
Generar e imprimir Código QR en Cobol-wow Magda RM/COBOL 5 5 de agosto de 2024 02:40
[Sintaxis] Pasar código de PowerCobol a Cobol WOW Fito RM/COBOL 1 11 de julio de 2023 11:16
[Duda] (AYUDA) Problema en codigo COBOL Marengo97 COBOL - General 6 4 de febrero de 2023 05:13
[Compilador] Nuevo compilador de Cobol .NET de código abierto Joseg COBOL - General 14 9 de enero de 2023 16:48
[Sintaxis] Mayusculas en las primeras palabras Gatomalo RM/COBOL 7 18 de abril de 2015 00:31

Respuesta

  #1
Antiguo 6 de abril de 2020, 19:19
Breew
Patrocinador del Foro
Última Actividad 09.05.2022 07:47
Posts Posts: 125
Likes enviados Enviados: 104
Likes recibidos Recibidos: 8
Pregunta Código Cobol - mayúsculas/minúsculas
1 Inactivo Inactivo

Hola.

No se que criterio deberia de tomar a la hora de nombrar las rutinas.
Quizas todas las variables en minusculas y los parrafos y procedures en mayusculas.
¿ como lo haceis vosotros ?

( mi hijo, dice que programo en un lenguaje que esta enfadado: todo lo digo gritando )

Gracias
Breew is offline   Responder Con Cita
  #2
Antiguo 6 de abril de 2020, 21:44
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Breew, lo un poco malo de Cobol es que hay demasiado texto. Según mi experiencia, todo en mayúsculas cansa la vista un poco, pero es mejor que todo en minúsculas.

Lo que queda mejor para la visibilidad, para mi, es lo siguiente :
  • Divisiones, secciones y verbos Cobol - todo en mayúsculas
  • Párrafos y variables en "CamelCase"

Así, toda "función" y variable es identificada por los ojos enseguida.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 6 de abril de 2020, 22:22
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 02.09.2026 00:15
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

Yo lo tengo todo en minúsculas.

Me resulta más agradable y como dice Kuk queda más visible las cosas.

Aunque al final es aconstumbrarse, tengo programas o rutinas antiguos que están en mayúsculas.

Lo que hago nuevo todo minúsculas.
JCantero is offline   Responder Con Cita
  #4
Antiguo 7 de abril de 2020, 09:43
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Citación del post de JCantero Ver Mensaje
Yo lo tengo todo en minúsculas
Ostras... A mi se me cruzan los cables. Lo mismo es la costumbre, pero todo en mayúsculas todavía lo veo visible. Pero todo en minúsculas... No sé.

Yo creo que lo principal de todo esto es que el código sea más fácil de leer, y también/sobre todo que sea más fácil identificar algo que interese sin tener que recorrerte leyendo todo un párrafo.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #5
Antiguo 7 de abril de 2020, 19:55
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Yo, por convención y porque soy de la vieja escuela, utilizo siempre las mayúscula, excepto para los "métodos" y las "propiedades", que las escribo tal y como las define PWC, más que nada, porque, como se comentó en otro post, si no lo haces así, puede dar errores inesperados.

Como dice Kuk, yo en minúsculas, es que "no veo" nada y, lo que tiene que prevalecer es la claridad de lo escrito, por eso lo que sí que utilizo mucho es dejar una linea en blanco, (antes y después de, por ejemplo un IF o un EVALUATE, INVOKE ...) y, sobre todo hago mucho uso de la indentación, como se puede ver en éste trozo de código:


Código COBOL:
  1.  
  2.      PERFORM WITH NO LIMIT
  3.              EXEC SQL
  4.                   FETCH cursor_con_1
  5.                         INTO :ID_NOT,
  6.                              :NOTFEC,
  7.                              :NOTHOR,
  8.                              :NOTTEX,
  9.                              :NOTR,
  10.                              :NOTV,
  11.                              :NOTA
  12.              END-EXEC
  13.  
  14.              IF SQLSTATE = "02000"
  15.                 IF I = 0
  16.                    MOVE "No hay registros a mostrar ..." TO "ToolTipText" OF SPREAD1
  17.                 ELSE
  18.                    MOVE I TO I-EDI
  19.                    STRING I-EDI
  20.                           " Registros mostrados ..." DELIMITED BY SIZE INTO WTEX
  21.                    END-STRING
  22.                    MOVE WTEX TO "ToolTipText" OF SPREAD1
  23.                 END-IF
  24.                 EXIT PERFORM
  25.              END-IF
  26.  
  27.              ADD  1            TO I
  28.              MOVE I            TO "MaxRows"           OF SPREAD1
  29.              MOVE I            TO "Row"               OF SPREAD1
  30.              MOVE NOTFEC       TO FECHA
  31.              MOVE CORR FECHA   TO FECHA1
  32.              MOVE CORR FECHA1  TO FECHA-EDI
  33.              MOVE 1            TO "Col"               OF SPREAD1
  34.              MOVE ID_NOT       TO "Text"              OF SPREAD1
  35.              MOVE 2            TO "Col"               OF SPREAD1
  36.              MOVE 0            TO "Text"              OF SPREAD1
  37.              MOVE 3            TO "Col"               OF SPREAD1
  38.              MOVE FECHA-EDI    TO "Text"              OF SPREAD1
  39. *
  40.              MOVE 4            TO "Col"               OF SPREAD1
  41.              MOVE NOTHOR (1:2) TO HH
  42.              MOVE NOTHOR (3:2) TO MI
  43.              MOVE NOTHOR (5:2) TO SS
  44.              MOVE HORA         TO "Text"              OF SPREAD1
  45. *
  46.              MOVE 5            TO "Col"               OF SPREAD1
  47.              MOVE 20,30        TO "RowHeight"(I)      OF SPREAD1
  48.              MOVE POW-TRUE     TO "TypeEditMultiLine" OF SPREAD1
  49.              MOVE NOTTEX       TO "Text"              OF SPREAD1
  50.              COMPUTE WSALTO = "MaxTextRowHeight"(I)   OF SPREAD1
  51.              MOVE WSALTO       TO "RowHeight"(I)      OF SPREAD1
  52. *
  53.              MOVE NOTR         TO BIN-2
  54.              MOVE BIN-1        TO W-RED
  55.              MOVE NOTV         TO BIN-2
  56.              MOVE BIN-1        TO W-GREEN
  57.              MOVE NOTA         TO BIN-2
  58.              MOVE BIN-1        TO W-BLUE
  59.              MOVE W-RGB        TO "ForeColor"         OF SPREAD1
  60.              INVOKE SPREAD1 "Refresh"
  61.  
  62.      END-PERFORM.

Un saludo.-
Josber is offline   Responder Con Cita
  #6
Antiguo 7 de abril de 2020, 23:08
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 02.09.2026 00:15
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

Si, yo os entiendo lo que quereis decir.

Veo mas importante la programacion clara, estructurada, con lineas en blanco como dice Josber y Kuk, a que este en mayusculas o minusculas.

Yo es que estare ya aconstumbrado, como programo bastante en C++ y java pues ya tendre la mente preparada a cualquier disparate. jajajajaja

Lo importante es que este estructurado y que quede claro y comprensivo, independientemente del lenguaje.
JCantero is offline   Responder Con Cita
  #7
Antiguo 8 de abril de 2020, 01:34
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243

Hola:

A mi me cuesta seguir un programa en mayúsculas, por eso escribo todo en minúsculas, por supuesto las propiedades y métodos tratando de respetar tal cual son, como dice Josber.

"Pierdo" mucho tiempo tratando de que el código sea claro, lo que no me acostumbro mucho es a poner comentarios, muy poco, sería importante también utilizarlos.

Y trato siempre de usar nombre nemotécnicos para todo, para poder identificar con el nombre a qué se refiere cada cosa.

Las variable auxiliares normalmente empiezan son una "w", por ejemplo un acumulador de cantidades "wacu-cant", antes cuando programaba con otras personas el prefijo era "x" por eso tengo programas más antiguos que utilizan esa forma.

Los controles tambien le pongo un prefijo para saber el tipo de control y a su vez el nombre normalmente es el nombre del campo del archivo al cuál hace referencia.

Supongamos que se llama "Campo" para unificar:
un combo = cmbCampo
un cuadro de texto = txtCampo
una grilla = grdCampo
un radio button = optCampo
un checkbox = chkCampo
etc, etc..

Los campos de los archivos tambien le pongo un prefijo para identifica el nombre del archivo. Ahí trato de ponerle tres o cuatro dígitos:

Archivo CTACTE = ccnombre
Archivo RESUMEN = resnombre
etc, etc..

Los comandos con estructura los finalizo con su "end-", salvo que sea simple de un solo renglon:

Código COBOL:
  1. if saldo = zeros go sale.
  2.  
  3. if saldo = zeros
  4.    add wsaldo    to wtotal
  5.    invoke pow-self "DisplayMessage" using "El Saldo está en cero"
  6.    go sale
  7. end-if.
  8. etc, etc...

Tengo la idea, no el tiempo todavía, de realizar un video mostrando la forma que utilizo para programar, para que entre todos tiremos opiniones y podamos mejorar, ya que en cobol se escribe mucho y no es un tema menor la forma de escribir el código.

Saludos.

Fito...
Fito is offline   Responder Con Cita
  #8
Antiguo 8 de abril de 2020, 09:52
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Citación del post de Fito Ver Mensaje
Y trato siempre de usar nombre nemotécnicos para todo, para poder identificar con el nombre a qué se refiere cada cosa.

Esto es muy importante. Porque cuando veo variables tipo A1, J2 y WW7... Vamos....

Citación del post de JCantero Ver Mensaje
como programo bastante en C++ y java
Es diferente, porque no hay tanta "palabrería" como en Cobo

Quiero decir, si hay texto, o es una clase, o un método o un atributo (variable). En cambio no hay "ADD, COMPUTE, PERFORM UNTIL...". Bueno están los for/while, pero sigue siendo poco verbal y por lo tanto más visible.

Y de los programas Cobol tipo
Código COBOL:
  1.      IF WS-VAR1 GREATER THAN OR EQUAL TO WA-VAR2 THEN
Ya ni hablo...



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #9
Antiguo 8 de abril de 2020, 20:24
Nitzer
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: Por Videoconferencia-Webinar Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por aportar conocimientos excepcionales 
Última Actividad 05.08.2026 17:33
Posts Posts: 200
Likes enviados Enviados: 70
Likes recibidos Recibidos: 157

Llamadme viejo, lo acepto, pero yo todo en MAYUSCULAS
Tambien es verdad q de pequeño en la escuela me encantaba escribirlo todo en mayúsculas, asi q viene de lejos
Nitzer is offline   Responder Con Cita
  #10
Antiguo 9 de abril de 2020, 09:20
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Citación del post de Nitzer Ver Mensaje
viene de lejos



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:18.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.