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>`
75 Se utilizzate un programma compatibile con EditorConfig, allora alcune
86 Certo il kernel fa un grande uso dell'astrazione; nessun progetto con milioni
88 ha dimostrato che un'eccessiva o prematura astrazione può rivelarsi dannosa
92 Ad un livello base, considerate una funzione che ha un argomento che viene
97 sottile, in un modo che non è mai stato notato - perché non è mai stato usato.
103 I livelli di astrazione che nascondono l'accesso all'hardware -
104 spesso per poter usare dei driver su diversi sistemi operativi - vengono
109 codice proveniente da un altro sottosistema del kernel, è tempo di chiedersi
111 in una libreria separata o di implementare quella funzionalità ad un livello
121 all'interno di un file sorgente. Ma il preprocessore non è scritto in C,
122 e un suo massiccio impiego conduce a un codice che è molto più difficile
125 di un codice che necessita di un certo lavoro di pulizia.
127 La compilazione condizionata con #ifdef è, in effetti, un potente strumento,
128 ed esso viene usato all'interno del kernel. Ma esiste un piccolo desiderio:
135 un codice molto più pulito, più facile da seguire.
158 esempio di un'ottimizzazione prematura.
163 all'hardware moderno. Lo spazio *è* tempo, in questo senso un programma
166 I compilatori più recenti hanno preso un ruolo attivo nel decidere se
183 a porte chiuse. Ma in particolare, un grosso problema fu che non fu
184 progettato per girare in un sistema multiprocessore. Prima che questo
186 un lavoro sugli schemi di sincronizzazione.
190 comunque, questo documento è stato scritto su di un portatile dual-core.
197 avere accesso simultaneo da più di un thread deve essere sincronizzato. Il
199 riadattare la sincronizzazione a posteriori è un compito molto più difficile.
202 per eseguire un compito. Il codice che presenta una mancanza di attenzione
203 alla concorrenza avrà un percorso difficile all'interno del ramo principale.
208 Vale la pena menzionare un ultimo pericolo: potrebbe rivelarsi accattivante
209 l'idea di eseguire un cambiamento (che potrebbe portare a grandi
219 un cambiamento se questo porta a nuove funzionalità a dieci sistemi per
227 un passo avanti e due indietro?
232 sorta di modifica all'ABI dello spazio utente. Una volta che un'interfaccia
242 --------------------------------
243 Almeno per ora la scrittura di codice priva di errori resta un ideale
248 localizzare automaticamente un'ampia varietà di problemi. Qualsiasi problema
249 trovato dal computer è un problema che non affliggerà l'utente in seguito,
255 (e segnalare) un gran numero di potenziali errori. Molto spesso, questi
263 Costruite il kernel con "make KCFLAGS=-W" per ottenerli tutti.
271 - FRAME_WARN per ottenere degli avvertimenti su stack frame più
272 grandi di un dato valore. Il risultato generato da questi
276 - DEBUG_OBJECTS aggiungerà un codice per tracciare il ciclo di vita di
278 fuori controllo. Se state aggiungendo un sottosistema che crea (ed
279 esporta) oggetti complessi propri, considerate l'aggiunta di un supporto
282 - DEBUG_SLAB può trovare svariati errori di uso e di allocazione di memoria;
285 - DEBUG_SPINLOCK, DEBUG_ATOMIC_SLEEP, e DEBUG_MUTEXES troveranno un certo
289 discuteremo qui sotto. Alcune di esse hanno un forte impatto e non dovrebbero
291 le opzioni disponibili porterà ad un risparmio di tempo nel breve termine.
302 (sia per gli sviluppatori che per gli utenti) in un sistema in uso; lockdep
311 percorsi fossero stati verificati un po' di volte.
313 Il kernel fornisce un framework per l'inserimento di fallimenti che fa
320 Documentation/fault-injection/fault-injection.rst per avere maggiori
326 kernel, un miscuglio fra quantità big-endian e little-endian, il passaggio
327 di un valore intero dove ci sia aspetta un gruppo di flag, e così via.
334 soluzioni per risolverli. Un buon numero di "patch semantiche" per il kernel
338 :ref:`Documentation/dev-tools/coccinelle.rst <devtools_coccinelle>`.
341 per altre architetture. Se non vi accade di avere un sistema S/390 o una
343 di compilazione. Un vasto numero di cross-compilatori per x86 possono
353 --------------
355 La documentazione è spesso stata più un'eccezione che una regola nello
356 sviluppo del kernel. Nonostante questo, un'adeguata documentazione aiuterà
366 la patch; un numero sorprendente di sviluppatori sbaglia nel fornire tale
369 Qualsiasi codice che aggiunge una nuova interfaccia in spazio utente - inclusi
370 nuovi file in sysfs o /proc - dovrebbe includere la documentazione di tale
376 Il file :ref:`Documentation/translations/it_IT/admin-guide/kernel-parameters.rst <kernelparameters>`
380 Ogni nuova configurazione deve essere accompagnata da un testo di supporto
387 "kernel-doc". Se state lavorando all'interno di un sottosistema che ha
391 futuro; infatti, questa può essere un'attività utile per sviluppatori novizi
394 :ref:`Documentation/translations/it_IT/doc-guide/ <doc_guide>`.
396 Chiunque legga un ammontare significativo di codice kernel noterà che, spesso,
410 indicate. Tutto ciò che potrebbe indurre un inserviente del codice a fare
411 una "pulizia" incorretta, ha bisogno di un commento che dica perché è stato
415 ----------------------------
420 bisogno. Se vi trovate a dover lavorare attorno ad un'API del kernel o
422 non rispecchia i vostri bisogni, allora questo potrebbe essere un segno che
439 può essere un lavoro molto grosso, quindi è meglio essere sicuri che la
441 un aiuto con modifiche estese dell'API.
447 di codice fuori dal kernel che c'è un cambiamento per il quale è necessario del