Concetti Chiave

  • La sintassi del C è versatile, permettendo diversi stili di scrittura, ma potrebbe compromettere la leggibilità e aumentare il rischio di bug.
  • Le convenzioni di coding possono essere informali, basate su stili personali, o formalizzate in linee guida condivise da gruppi di lavoro.
  • Le coding conventions legate a Linux riguardano pratiche come indentazione e commenti, essenziali per mantenere un codice chiaro e manutenibile.
  • Le GNU coding standards e il Linux kernel coding style sono esempi di linee guida sviluppate per favorire la coerenza nel codice C utilizzato in ambienti Unix-like.
  • La formattazione del codice include regole sulla lunghezza delle righe e convenzioni di naming, che devono essere chiare e descrittive sia per variabili che per funzioni.

Sintassi e leggibilità del codice

La sintassi di C è ricca ed espressiva e nonostante ci siano poche parole chiave, un programma può essere quindi scritto in modi diversi. È possibile scrivere operazioni articolate in poche righe, ma il codice potrebbero risultare poco leggibile, la revisione potrebbe essere complessa e facilmente potrebbero esserci bug. Per questo si adottano convenzioni di stile: per rendere il codice più semplice.

Le convenzioni possono essere:

- Informali: il programmatore ha uno stile personalizzato di scrivere e revisionare il codice

- Formalizzate in linee guida: adottate generalmente da gruppi di lavoro

Le coding conventions sono linee guida da adottare quando si sviluppa un programma, non legate alla sintassi, adottate da gruppi di lavoro.

Coding conventions e Linux

Le coding conventions seguenti (riguardanti identare codice, commentare codice e dichiarare nomi) sono legate a Linux, poichè il C è strettamente legato al sistema operativo Unix, Linux infatti e un sistema Unix-like.

GNU coding standards = scritte da Richard Stallman e volontari del progetto GNU (avviato nel 1983 per sviluppare un sistema operativo distribuito come software libero). Queste vengono usate molto nelle free software community.

Linux kernel coding style = scritte Linus Torvalds. (kernel = nucleo del sistema operativo è il software che garantisce ai processi un accesso sicuro all’hardware, la cui prima versione e stata sviluppata e rilasciata nel 1991. Il kernel è attualmente sviluppato da programmatori volontari e distribuito come software libero).

Precisazioni Linux, GNU e C:

- Linux e un sistema operativo GNU/Linux, una combinazione di software GNU e kernel Linux

- Il kernel Linux e scritto interamente in C (ISO C89)

- Il compilatore gcc (GNU Compiler Collection) è uno dei compilatori più usati per C

Formattazione e convenzioni di naming

I principali aspetti legati alla formattazione sono:

- la lunghezza di una riga di codice: massimo 80 caratteri, altrimenti la riga viene spezzata in alcuni editor

- l’identazione: le righe dello stesso blocco devono avere lo stesso livello di indentazione.

- le parentesi

- commenti: devono esserci pochi commenti, poichè le istruzioni devono essere corte e semplici ma se necessario si possono usare brevi commenti. Se il codice è per il sistema GNU/Linux i commenti devono essere in inglese. Il codice del kernel Linux usa la sintassi ISO C89, quindi solo /* */.

- naming convention: i nomi di variabili, funzioni, macro devono spiegare il loro compito. I nomi globali devono essere descrittivi anche se lunghi, mentre i nomi locali devono essere brevi, poichè il loro scopo si comprende dalla funzione. Se il codice è per il sistema GNU/Linux i nomi devono essere in inglese.

Domande da interrogazione

  1. Qual è l'importanza delle convenzioni di stile nella scrittura del codice in C?
  2. Le convenzioni di stile sono fondamentali per migliorare la leggibilità del codice, facilitare la revisione e ridurre il rischio di bug, poiché un codice scritto in modo chiaro è più semplice da comprendere e mantenere.

  3. Quali sono le principali convenzioni di coding associate a Linux?
  4. Le principali convenzioni di coding associate a Linux includono gli standard di codifica GNU, scritti da Richard Stallman, e lo stile di codifica del kernel Linux, sviluppato da Linus Torvalds, che si concentrano su aspetti come l'identazione e la commentazione del codice.

  5. Quali sono i requisiti di formattazione per il codice in C?
  6. I requisiti di formattazione includono una lunghezza massima di 80 caratteri per riga, un'adeguata indentazione, l'uso corretto delle parentesi e commenti brevi e chiari, preferibilmente in inglese se il codice è destinato a GNU/Linux.

  7. Come devono essere nominati variabili e funzioni nel codice C?
  8. Le variabili e le funzioni devono avere nomi descrittivi che riflettano il loro scopo; i nomi globali possono essere più lunghi e dettagliati, mentre i nomi locali dovrebbero essere brevi, poiché il loro significato è chiaro nel contesto della funzione.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community