Autor Tema: ¿Como indentais (sangrais) el código en C?  (Leído 7451 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
¿Como indentais (sangrais) el código en C?
« en: 31 de Marzo de 2020, 11:52:27 »
Sabiendo que en lenguajes como Python o ensamblador, el indentado es obligatorio, en C C++,JAVA etc se puede hacer como uno quiera o le resulte mas cómodo. Habiendo técnica de buenas prácticas como en C++ o JAVA, preguntaba si en C puro soleis respetar las mismas prácticas.

  En mi caso por ejemplo, al tener un monitor grande que es de 32" 4K, me resulta mas cómodo extenderme colocando por ejemplo las instrucciones de un if al final de la linea if y una sola instruccion por linea. Así el codigo me queda como en la imagen adjunta.

  No he podido poner el ejemplo utilizando el XML (Codigo = c) por que a pesar de ponerlo igual que en la imágen, luego al publicar el mensaje sale como le da la gana, por eso adjunto imagen de como me queda en mplab por ejemplo.

    ¿Como lo soléis hacer ustedes?, ¿atendiendo al modo clásico como Java por ejemplo 2 espacios después de la llave de cierre?

 ¿ Existe un modo correcto en C?, modo en el que todos los códigos deberían ser indentados??.

 

* indent.png
(66.94 kB, 1827x812 - visto 415 veces)

Desconectado Omar86

  • PIC10
  • *
  • Mensajes: 2
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #1 en: 31 de Marzo de 2020, 17:28:28 »
Cuidado con esa pregunta. Es como opinar de derbis en el fútbol. 

Mejor inserta el código, para quien se anime, lo tenga más fácil. Con la imagen tendrían que escribirlo todo de nuevo y/o emplear mucho tiempo para contestar claramente.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #2 en: 31 de Marzo de 2020, 17:43:01 »
Siempre tres espacios.
Los tabuladores no los puedo ver.
Es cuestión de gustos.

En tu caso colocas un espacio excesivo. Los que no tengan tu monitor no lo pueden ver bien.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #3 en: 31 de Marzo de 2020, 17:45:49 »
Como norma las líneas no deberían tener más de 80 columnas (versión clásica) o 130 columnas (versión moderna con buenos monitores)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #4 en: 31 de Marzo de 2020, 18:55:35 »
Yo uso tabuladores... Hoy en dia los compiladores puede mostrar los Tabs y hacer Tabs como espacios... Adaptable a cada gusto (al que hace 2 espacios, al que hace 3, etc ), ademas es mas simple presionar 1 tecla y no 3.

No veo razónes de usar espacios. Y la compatibilidad es una mentira, debido a lo que nombre antes, a no ser que exista una orden central para todos los programadores de que se usan si o si espacios. Lo mas compatible y comodo para todos ES y va a ser el Tab.

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #5 en: 31 de Marzo de 2020, 19:28:54 »
Cuidado con esa pregunta. Es como opinar de derbis en el fútbol. 

Mejor inserta el código, para quien se anime, lo tenga más fácil. Con la imagen tendrían que escribirlo todo de nuevo y/o emplear mucho tiempo para contestar claramente.

 Insertando el código como ya he dicho, al tratar de poner el código igual que en la imagen luego cuando publico el mensaje sale como le da la gana. Te lo separa mucho más o mucho menos de modo que no vale para ilustrar lo que pretendía ilustrar..  Por eso puse la imagen para que se vea como es el indentado que en mi caso le doy.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #6 en: 31 de Marzo de 2020, 23:37:52 »
Insertando el código como ya he dicho, al tratar de poner el código igual que en la imagen luego cuando publico el mensaje sale como le da la gana. Te lo separa mucho más o mucho menos de modo que no vale para ilustrar lo que pretendía ilustrar..  Por eso puse la imagen para que se vea como es el indentado que en mi caso le doy.

Si usas el tag de Code, generalmente respeta la identacion, no asi si lo pones sin el tag o en quote

Desconectado AccioRw

  • PIC16
  • ***
  • Mensajes: 165
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #7 en: 01 de Abril de 2020, 04:24:13 »
Si consigues insertar el código te lo dejo identado como suelo hacer habitualmente y mucha gente que me rodea lo hace (por que yo aprendí de ellos :oops:)

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #8 en: 01 de Abril de 2020, 06:16:44 »
Insertando el código como ya he dicho, al tratar de poner el código igual que en la imagen luego cuando publico el mensaje sale como le da la gana. Te lo separa mucho más o mucho menos de modo que no vale para ilustrar lo que pretendía ilustrar..  Por eso puse la imagen para que se vea como es el indentado que en mi caso le doy.

Si usas el tag de Code, generalmente respeta la identacion, no asi si lo pones sin el tag o en quote

 Vamos a ver con un ejemplo práctico:

  Fijate en esta captura de pantalla como he escrito el código:
 

* st1.png
(29.04 kB, 1817x476 - visto 367 veces)


 Y sin embargo, con el tag mira como se publica. Nada que ver. Por eso lo incrusté como imágen, por que el tag degrada los espacios y las tabulaciones y te lo deja como le parece por lo que no me servia para ilustrar lo que pretendía.
Código: C
  1. void main() {
  2.   int a = 0;
  3.   while(a <= 255) {
  4.                              if (a == 20) {
  5.                                                 printf("He llegado a 20);
  6.                                                return;
  7.                                               }
  8.  
  9.                             else if (a == 20) {
  10.                                                       printf("He llegado a 20);
  11.                                                        return;
  12.                                                       }
  13.                             delay_ms(1000);
  14.                             a++;                          
  15.                           }
  16. }

Desconectado AccioRw

  • PIC16
  • ***
  • Mensajes: 165
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #9 en: 01 de Abril de 2020, 07:07:14 »
Así lo haría yo, comentarios de secciones grandes asi:
/*
 * Main
 */

y comentarios sencillos:
// returned real value

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #10 en: 01 de Abril de 2020, 07:29:38 »
Yo uso tabuladores... Hoy en dia los compiladores puede mostrar los Tabs y hacer Tabs como espacios... Adaptable a cada gusto (al que hace 2 espacios, al que hace 3, etc ), ademas es mas simple presionar 1 tecla y no 3.

No veo razónes de usar espacios. Y la compatibilidad es una mentira, debido a lo que nombre antes, a no ser que exista una orden central para todos los programadores de que se usan si o si espacios. Lo mas compatible y comodo para todos ES y va a ser el Tab.

 :D :D :D :D

Hay un capítulo de la serie Silicon Valley dedicado a eso. Es como escoger equipo de futbol, cada uno tiene su preferencia y no cambiaría por nada del mundo.


Yo no puedo ver los tabs ni en pintura, no los soporto y nunca utilizo el tab aunque el editor de texto inserte espacios. Pero imagino que a otros les pasa justo lo contrario con los espacios.
Es una cuestión de preferencias, pero los programadores suelen estar muy polarizados con preferencias muy fuertes.

Un saludo.
« Última modificación: 01 de Abril de 2020, 07:34:57 por Picuino »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #11 en: 01 de Abril de 2020, 08:27:26 »
Mi versión:

Código: C
  1. void main() {
  2.    int a = 0;
  3.    while (a <= 255) {
  4.       if (a == 20)  {
  5.          printf("He llegado a 20");
  6.          return;
  7.       }
  8.       else if (a == 40) {
  9.          printf("He llegado a 40");
  10.          return;
  11.       }
  12.       __delay_ms(100);
  13.       a++;
  14.    }
  15. }

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #12 en: 01 de Abril de 2020, 17:12:38 »
Yo uso tab en todos los lenguajes.
AL quedar más prolijo (para mi), lo puedo leer mejor; y entender las anidaciones que hay.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado AccioRw

  • PIC16
  • ***
  • Mensajes: 165
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #13 en: 01 de Abril de 2020, 17:54:00 »
El problema de los tabuladores es que muchas veces no ponen 4 espacios y a veces da problema al sacar el código de donde lo estés poniendo hacia otro IDE/editor de texto

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:¿Como indentais (sangrais) el código en C?
« Respuesta #14 en: 01 de Abril de 2020, 18:24:50 »
Acabo de recordar que los ficheros makefile solo funcionan indentando con tabulaciones. En ese caso uso tabs... obligado  :D


 

anything