Lines Matching +full:un +full:-
1 .. include:: ../disclaimer-ita.rst
23 --------
29 :ref:`Documentation/translations/it_IT/process/coding-style.rst <codingstyle>`.
43 quindi, più spazi per un codice formattato alla carlona.
46 stile richiesto da un datore di lavoro. In alcuni casi, lo stile del kernel
48 all'interno del kernel significa rinunciare a un certo grado di controllo
49 in differenti modi - incluso il controllo sul come formattare il codice.
55 changelog del kernel – o entrambe. La comunità di sviluppo vede un attività
58 Mentre si lavora su un pezzo di codice è normale correggerne anche lo stile,
62 assoluta che non può mai essere trasgredita. Se c’è un a buona ragione
66 Notate che potete utilizzare lo strumento “clang-format” per aiutarvi con
72 :ref:`Documentation/translations/it_IT/process/clang-format.rst <clangformat>`
82 Certo il kernel fa un grande uso dell'astrazione; nessun progetto con milioni
84 ha dimostrato che un'eccessiva o prematura astrazione può rivelarsi dannosa
88 Ad un livello base, considerate una funzione che ha un argomento che viene
93 sottile, in un modo che non è mai stato notato - perché non è mai stato usato.
99 I livelli di astrazione che nascondono l'accesso all'hardware -
100 spesso per poter usare dei driver su diversi sistemi operativi - vengono
105 codice proveniente da un altro sottosistema del kernel, è tempo di chiedersi
107 in una libreria separata o di implementare quella funzionalità ad un livello
117 all'interno di un file sorgente. Ma il preprocessore non è scritto in C,
118 e un suo massiccio impiego conduce a un codice che è molto più difficile
121 di un codice che necessita di un certo lavoro di pulizia.
123 La compilazione condizionata con #ifdef è, in effetti, un potente strumento,
124 ed esso viene usato all'interno del kernel. Ma esiste un piccolo desiderio:
131 un codice molto più pulito, più facile da seguire.
154 esempio di un'ottimizzazione prematura.
159 all'hardware moderno. Lo spazio *è* tempo, in questo senso un programma
162 I compilatori più recenti hanno preso un ruolo attivo nel decidere se
179 a porte chiuse. Ma in particolare, un grosso problema fu che non fu
180 progettato per girare in un sistema multiprocessore. Prima che questo
182 un lavoro sugli schemi di sincronizzazione.
186 comunque, questo documento è stato scritto su di un portatile dual-core.
193 avere accesso simultaneo da più di un thread deve essere sincronizzato. Il
195 riadattare la sincronizzazione a posteriori è un compito molto più difficile.
198 per eseguire un compito. Il codice che presenta una mancanza di attenzione
199 alla concorrenza avrà un percorso difficile all'interno del ramo principale.
204 Vale la pena menzionare un ultimo pericolo: potrebbe rivelarsi accattivante
205 l'idea di eseguire un cambiamento (che potrebbe portare a grandi
215 un cambiamento se questo porta a nuove funzionalità a dieci sistemi per
223 un passo avanti e due indietro?
228 sorta di modifica all'ABI dello spazio utente. Una volta che un'interfaccia
238 --------------------------------
239 Almeno per ora la scrittura di codice priva di errori resta un ideale
244 localizzare automaticamente un'ampia varietà di problemi. Qualsiasi problema
245 trovato dal computer è un problema che non affliggerà l'utente in seguito,
251 (e segnalare) un gran numero di potenziali errori. Molto spesso, questi
259 Costruite il kernel con "make KCFLAGS=-W" per ottenerli tutti.
267 - FRAME_WARN per ottenere degli avvertimenti su stack frame più
268 grandi di un dato valore. Il risultato generato da questi
272 - DEBUG_OBJECTS aggiungerà un codice per tracciare il ciclo di vita di
274 fuori controllo. Se state aggiungendo un sottosistema che crea (ed
275 esporta) oggetti complessi propri, considerate l'aggiunta di un supporto
278 - DEBUG_SLAB può trovare svariati errori di uso e di allocazione di memoria;
281 - DEBUG_SPINLOCK, DEBUG_ATOMIC_SLEEP, e DEBUG_MUTEXES troveranno un certo
285 discuteremo qui sotto. Alcune di esse hanno un forte impatto e non dovrebbero
287 le opzioni disponibili porterà ad un risparmio di tempo nel breve termine.
298 (sia per gli sviluppatori che per gli utenti) in un sistema in uso; lockdep
307 percorsi fossero stati verificati un po' di volte.
309 Il kernel fornisce un framework per l'inserimento di fallimenti che fa
316 Documentation/fault-injection/fault-injection.rst per avere maggiori
322 kernel, un miscuglio fra quantità big-endian e little-endian, il passaggio
323 di un valore intero dove ci sia aspetta un gruppo di flag, e così via.
330 soluzioni per risolverli. Un buon numero di "patch semantiche" per il kernel
334 :ref:`Documentation/dev-tools/coccinelle.rst <devtools_coccinelle>`.
337 per altre architetture. Se non vi accade di avere un sistema S/390 o una
339 di compilazione. Un vasto numero di cross-compilatori per x86 possono
349 --------------
351 La documentazione è spesso stata più un'eccezione che una regola nello
352 sviluppo del kernel. Nonostante questo, un'adeguata documentazione aiuterà
362 la patch; un numero sorprendente di sviluppatori sbaglia nel fornire tale
365 Qualsiasi codice che aggiunge una nuova interfaccia in spazio utente - inclusi
366 nuovi file in sysfs o /proc - dovrebbe includere la documentazione di tale
372 Il file :ref:`Documentation/translations/it_IT/admin-guide/kernel-parameters.rst <kernelparameters>`
376 Ogni nuova configurazione deve essere accompagnata da un testo di supporto
383 "kernel-doc". Se state lavorando all'interno di un sottosistema che ha
387 futuro; infatti, questa può essere un'attività utile per sviluppatori novizi
390 :ref:`Documentation/translations/it_IT/doc-guide/ <doc_guide>`.
392 Chiunque legga un ammontare significativo di codice kernel noterà che, spesso,
406 indicate. Tutto ciò che potrebbe indurre un inserviente del codice a fare
407 una "pulizia" incorretta, ha bisogno di un commento che dica perché è stato
411 ----------------------------
416 bisogno. Se vi trovate a dover lavorare attorno ad un'API del kernel o
418 non rispecchia i vostri bisogni, allora questo potrebbe essere un segno che
435 può essere un lavoro molto grosso, quindi è meglio essere sicuri che la
437 un aiuto con modifiche estese dell'API.
443 di codice fuori dal kernel che c'è un cambiamento per il quale è necessario del