Sintassi del Codice
Il codice è un elemento cruciale nella documentazione tecnica. Markdown offre diversi modi per visualizzare il codice, inclusi codice inline e blocchi di codice.
Codice Inline
Sintassi Base
Usa gli accenti gravi `
per racchiudere il codice:
Questo è un esempio di `codice inline`.
Usa la funzione `console.log()` per stampare informazioni.
Risultato Renderizzato:
Questo è un esempio di codice inline
. Usa la funzione console.log()
per stampare informazioni.
Codice che Contiene Accenti Gravi
Quando il codice stesso contiene accenti gravi, usa doppi accenti gravi:
``Usa la funzione `console.log()```
Risultato Renderizzato:
``Usa la funzione `console.log()```
Gestione di Più Accenti Gravi
```Codice con più accenti gravi `` ` ``` qui```
Risultato Renderizzato:
Codice con più accenti gravi `` `
qui```
Blocchi di Codice
Blocchi di Codice Indentati
Usa 4 spazi o 1 tab per indentare:
function hello() {
console.log("Ciao, Mondo!");
}
Risultato Renderizzato:
function hello() {
console.log("Ciao, Mondo!");
}
Blocchi di Codice Delimitati
Usa tre accenti gravi ``` o tilde ~~~ per racchiudere il codice:
```
function hello() {
console.log("Ciao, Mondo!");
}
```
Risultato Renderizzato:
function hello() {
console.log("Ciao, Mondo!");
}
Specificare il Linguaggio di Programmazione
Specifica il nome del linguaggio dopo l'apertura ``` per abilitare l'evidenziazione della sintassi:
```javascript
function hello(nome) {
console.log(`Ciao, ${nome}!`);
}
```
Risultato Renderizzato:
function hello(nome) {
console.log(`Ciao, ${nome}!`);
}
Esempi Comuni di Linguaggi di Programmazione
JavaScript
```javascript
// Esempio di funzione asincrona
async function fetchData(url) {
try {
const response = await fetch(url);
const data = await response.json();
return data;
} catch (error) {
console.error('Errore:', error);
}
}
```
Risultato Renderizzato:
// Esempio di funzione asincrona
async function fetchData(url) {
try {
const response = await fetch(url);
const data = await response.json();
return data;
} catch (error) {
console.error('Errore:', error);
}
}
Python
```python
# Esempio di definizione di classe
class Calcolatrice:
def __init__(self):
self.result = 0
def add(self, x, y):
return x + y
def multiply(self, x, y):
return x * y
# Esempio di utilizzo
calc = Calcolatrice()
print(calc.add(5, 3))
```
Risultato Renderizzato:
# Esempio di definizione di classe
class Calcolatrice:
def __init__(self):
self.result = 0
def add(self, x, y):
return x + y
def multiply(self, x, y):
return x * y
# Esempio di utilizzo
calc = Calcolatrice()
print(calc.add(5, 3))
HTML
```html
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<title>Pagina di Esempio</title>
</head>
<body>
<h1>Benvenuto in Markdown</h1>
<p>Questo è un paragrafo di esempio.</p>
</body>
</html>
```
Risultato Renderizzato:
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<title>Pagina di Esempio</title>
</head>
<body>
<h1>Benvenuto in Markdown</h1>
<p>Questo è un paragrafo di esempio.</p>
</body>
</html>
CSS
```css
/* Esempio di layout responsivo */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
@media (max-width: 768px) {
.container {
padding: 0 10px;
}
}
.button {
background-color: #007bff;
color: white;
border: none;
padding: 10px 20px;
border-radius: 4px;
cursor: pointer;
}
.button:hover {
background-color: #0056b3;
}
```
Risultato Renderizzato:
/* Esempio di layout responsivo */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
@media (max-width: 768px) {
.container {
padding: 0 10px;
}
}
.button {
background-color: #007bff;
color: white;
border: none;
padding: 10px 20px;
border-radius: 4px;
cursor: pointer;
}
.button:hover {
background-color: #0056b3;
}
Bash/Shell
```bash
#!/bin/bash
# Esempio di script: elaborazione batch di file
for file in *.txt; do
if [ -f "$file" ]; then
echo "Elaborazione $file"
cp "$file" "backup_$file"
fi
done
# Definizione di funzione
function check_dependencies() {
command -v git >/dev/null 2>&1 || {
echo "Git è richiesto ma non installato."
exit 1
}
}
check_dependencies
echo "Tutte le dipendenze soddisfatte."
```
Risultato Renderizzato:
#!/bin/bash
# Esempio di script: elaborazione batch di file
for file in *.txt; do
if [ -f "$file" ]; then
echo "Elaborazione $file"
cp "$file" "backup_$file"
fi
done
# Definizione di funzione
function check_dependencies() {
command -v git >/dev/null 2>&1 || {
echo "Git è richiesto ma non installato."
exit 1
}
}
check_dependencies
echo "Tutte le dipendenze soddisfatte."
JSON
```json
{
"name": "markdown-tutorial",
"version": "1.0.0",
"description": "Tutorial Markdown in Italiano",
"main": "index.js",
"scripts": {
"dev": "vitepress dev docs",
"build": "vitepress build docs",
"preview": "vitepress preview docs"
},
"dependencies": {
"vitepress": "^1.0.0"
},
"author": "Il Tuo Nome",
"license": "MIT"
}
```
Risultato Renderizzato:
{
"name": "markdown-tutorial",
"version": "1.0.0",
"description": "Tutorial Markdown in Italiano",
"main": "index.js",
"scripts": {
"dev": "vitepress dev docs",
"build": "vitepress build docs",
"preview": "vitepress preview docs"
},
"dependencies": {
"vitepress": "^1.0.0"
},
"author": "Il Tuo Nome",
"license": "MIT"
}
Funzionalità Avanzate dei Blocchi di Codice
Mostra Numeri di Riga
Alcuni processori Markdown supportano la visualizzazione dei numeri di riga:
```javascript {1}
// Questa è la riga uno
function esempio() {
console.log("Ciao");
}
```
Evidenziazione delle Righe
Evidenzia righe specifiche:
```javascript {2-3}
function esempio() {
console.log("Questa riga è evidenziata"); // evidenziata
return true; // evidenziata
}
```
Mostra Nome File
Visualizza il nome del file del codice:
```javascript title="app.js"
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Ciao Mondo!');
});
```
Errori Comuni e Soluzioni
1. Numero di Accenti Gravi Non Corrispondente
❌ Errato:
```javascript
function hello() {
console.log("Ciao");
}
`` ← Numero di accenti gravi non corrispondente
✅ Corretto:
```javascript
function hello() {
console.log("Ciao");
}
```
2. Indentazione Incoerente
❌ Errato: Blocco di codice indentato
Prima riga (4 spazi)
Seconda riga (2 spazi) ← Indentazione incoerente
✅ Corretto: Blocco di codice indentato
Prima riga (4 spazi)
Seconda riga (4 spazi)
3. Nome Linguaggio Errato
❌ Errato:
```js ← dovrebbe essere javascript
function hello() {}
```
✅ Corretto:
```javascript
function hello() {}
```
Elenco dei Linguaggi Supportati
Identificatori comuni dei linguaggi:
Linguaggio | Identificatore | Esempio |
---|---|---|
JavaScript | javascript , js | function(){} |
Python | python , py | def function(): |
Java | java | public class{} |
C++ | cpp , c++ | #include <iostream> |
C# | csharp , cs | public class{} |
Go | go | func main(){} |
Rust | rust , rs | fn main(){} |
TypeScript | typescript , ts | interface{} |
PHP | php | <?php |
Ruby | ruby , rb | def method |
SQL | sql | SELECT * FROM |
HTML | html | <div></div> |
CSS | css | .class{} |
XML | xml | <root></root> |
YAML | yaml , yml | key: value |
Markdown | markdown , md | # Titolo |
Bash | bash , sh | #!/bin/bash |
PowerShell | powershell , ps1 | Get-Process |
Dockerfile | dockerfile | FROM ubuntu |
Best Practice
1. Scegli il Formato di Codice Appropriato
✅ Consigliato: Usa il formato inline per codice breve
Usa il metodo `Array.map()` per elaborare array.
✅ Consigliato: Usa blocchi di codice per codice lungo
function processArray(arr) {
return arr.map(item => item * 2);
}
2. Aggiungi Commenti Adeguati
✅ Consigliato: Includi commenti esplicativi
```javascript
// Calcola la media degli elementi di un array
function calcolaMedia(numeri) {
const somma = numeri.reduce((acc, num) => acc + num, 0);
return somma / numeri.length;
}
```
3. Usa Identificatori di Linguaggio Corretto
✅ Consigliato: Identificatore linguaggio chiaro
```typescript
interface Utente {
id: number;
name: string;
}
```
❌ Non consigliato: Identificatore linguaggio vago
```text
interface Utente {
id: number;
name: string;
}
```
4. Mantieni il Codice Conciso
✅ Consigliato: Mostra la logica principale
```javascript
// Autenticazione utente
function autentica(token) {
return validaToken(token);
}
```
❌ Non consigliato: Troppi dettagli irrilevanti
```javascript
// Questo è un codice lungo con molti dettagli non correlati...
```
Output HTML
Il codice Markdown viene convertito in HTML:
`codice inline`
Convertito in:
<code>codice inline</code>
Blocco di codice:
```javascript
function hello() {}
```
Convertito in:
<pre><code class="language-javascript">
function hello() {}
</code></pre>
Esempi Pratici
Documentazione API
## Login Utente
Invia una richiesta POST a `/api/login`:
```bash
curl -X POST https://api.example.com/login \
-H "Content-Type: application/json" \
-d '{
"email": "utente@example.com",
"password": "password123"
}'
```
Risposta di esempio:
```json
{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": 1,
"email": "utente@example.com",
"name": "Mario Rossi"
}
}
```
Esempio di File di Configurazione
## Configurazione Progetto
Crea un file `config.json`:
```json
{
"database": {
"host": "localhost",
"port": 5432,
"name": "myapp"
},
"server": {
"port": 3000,
"host": "0.0.0.0"
}
}
```
Aggiorna gli script in `package.json`:
```json
{
"scripts": {
"start": "node server.js",
"dev": "nodemon server.js",
"test": "jest"
}
}
```
Guida all'Installazione
## Configurazione Ambiente
1. Installa Node.js:
```bash
# macOS (con Homebrew)
brew install node
# Ubuntu/Debian
sudo apt update
sudo apt install nodejs npm
# Windows (con Chocolatey)
choco install nodejs
```
2. Verifica l'installazione:
```bash
node --version
npm --version
```
3. Inizializza il progetto:
```bash
mkdir mio-progetto
cd mio-progetto
npm init -y
```
Sintassi Correlata
- Blocchi di Codice Delimitati - Funzionalità avanzate del codice
- Sintassi Enfasi - Formattazione del testo
- Sintassi Link - Creazione di collegamenti
- Caratteri di Escape - Gestione caratteri speciali
Pratica
Prova a creare quanto segue:
- Una raccolta di esempi di codice in vari linguaggi di programmazione
- Un tutorial API con codice di richiesta e risposta
- Una guida all'installazione con istruzioni da riga di comando per diversi sistemi
- Un template di file di configurazione con commenti dettagliati