Clean code e refactoring esame
Queste flashcard forniscono un riepilogo utile di concetti chiave relativi al clean code e al refactoring, ideali per studenti universitari in informatica.
Quiz(48 domande)
1. Cos'è il Clean Code?
Termini in questo set(48)
Concetti di Clean Code(16)
Cos'è il Clean Code?
Il Clean Code è un insieme di principi e pratiche per scrivere codice leggibile, chiaro e manutenibile.
Principio DRY
DRY sta per 'Don't Repeat Yourself'. Significa evitare la duplicazione del codice per migliorare la manutenibilità.
Cos'è la leggibilità del codice?
La leggibilità è quanto è facile per un programmatore comprendere il codice scritto da un altro. Codice leggibile riduce il tempo di sviluppo.
Vero o Falso: Commenti sono sempre necessari.
Falso. I commenti dovrebbero essere usati con moderazione. Un codice chiaro e ben strutturato richiede meno commenti.
Cos'è la semplicità?
La semplicità nel codice implica scrivere solo il necessario, senza complessità superflue, rendendolo più facile da capire e mantenere.
Confronto: Funzioni lunghe vs Funzioni brevi
Funzioni lunghe sono più difficili da capire. Funzioni brevi sono più facili da testare e riutilizzare.
Fill in the blank: I nomi delle variabili dovrebbero essere ______.
descrittivi e significativi per il contesto.
Principio KISS
KISS sta per 'Keep It Simple, Stupid'. Incoraggia a mantenere le soluzioni semplici e dirette.
Qual è l'importanza della coerenza?
La coerenza nel codice facilita la comprensione e il mantenimento, riducendo la possibilità di errori.
Cos'è un 'naming convention'?
Una naming convention è una regola di denominazione dei variabili e delle funzioni che migliora la chiarezza del codice.
Effetto di un codice complesso
Un codice complesso è più difficile da testare, mantenere e può portare a più bug.
Esempio di refactoring: Funzione monolitica
Se abbiamo una funzione che fa troppe cose, possiamo rifattorizzarla in funzioni più piccole e specifiche.
Principio della responsabilità unica
Ogni classe o funzione dovrebbe avere una sola responsabilità, rendendo il codice più modulare e facile da gestire.
Cos'è il 'code smell'?
Un 'code smell' è un indicatore che potrebbe esserci un problema nella struttura del codice, richiedendo attenzione e potenziale refactoring.
Definisci l' 'abbreviazione' nel codice.
L'abbreviazione è l'uso di nomi troppo corti per variabili o funzioni, che può ridurre la leggibilità e la comprensione.
Qual è la relazione tra test e Clean Code?
Testare il codice è fondamentale per garantire che il Clean Code funzioni come previsto e per mantenere la qualità nel tempo.
Tecniche di Refactoring(16)
Cosa significa refactoring?
Il refactoring è il processo di miglioramento del codice esistente senza modificarne il comportamento esterno.
Vantaggi del refactoring.
- Aumenta la leggibilità - Migliora la manutenzione - Riduce la complessità
Quando dovresti fare refactoring?
Dovresti rifattorizzare quando il codice è difficile da comprendere o manutenere, o dopo aver implementato nuove funzionalità.
Cosa sono i code smells?
I code smells sono indicatori che suggeriscono la presenza di problemi nel codice, come metodi troppo lunghi o classi con troppe responsabilità.
Cosa sono le tecniche di estrazione?
Le tecniche di estrazione consistono nel suddividere metodi o classi complesse in parti più piccole e gestibili.
Completa: Il refactoring migliora la _____ del codice.
manutenibilità
Cosa fa il metodo 'Rename'?
Il metodo 'Rename' serve a rinominare variabili, metodi o classi per migliorarne la chiarezza e il significato.
Vero o falso: Il refactoring deve sempre cambiare il comportamento del codice.
Falso. Il refactoring non deve cambiare il comportamento esterno del codice.
Ragioni per cui si usa il 'Extract Method'.
- Ridurre la complessità - Aumentare la riutilizzabilità - Migliorare la leggibilità
Esempio di 'Inline Method'.
Invece di avere un metodo che restituisce un valore semplice, puoi sostituire la chiamata al metodo con il valore stesso.
Cosa significa 'Consolidate Duplicate Conditional Fragments'?
Consiste nel riunire frammenti condizionali duplicati in un'unica condizione per migliorare la chiarezza.
Quando usare 'Replace Magic Numbers'?
Utilizzalo per sostituire numeri non significativi con costanti, migliorando la comprensibilità del codice.
Qual è l'obiettivo del 'Move Method'?
Spostare metodi in classi più appropriate per migliorare la coesione e ridurre il accoppiamento.
Cosa sono i 'Feature Envy'?
Si verifica quando un metodo in una classe utilizza frequentemente i dati di un'altra classe, suggerendo un possibile riposizionamento.
Cosa implica 'Remove Dead Code'?
Eliminare codice non utilizzato o obsoleto per semplificare il sistema e migliorare la chiarezza.
Vero o falso: Il refactoring è un'attività una tantum.
Falso. Il refactoring è un processo continuo durante lo sviluppo del software.
Best Practices per il Codice(16)
Commenta il codice.
Scrivere commenti chiari aiuta a spiegare il ragionamento dietro soluzioni complesse.
Qual è il principio DRY?
DRY sta per "Don't Repeat Yourself". Riduce la duplicazione del codice, migliorando la manutenibilità.
Cosa significa KISS?
KISS significa "Keep It Simple, Stupid". Promuove la semplicità nel design e nello sviluppo del codice.
Vero o falso: il codice deve essere complicato per essere efficace.
Falso. Un buon codice è semplice e chiaro, facilitando la comprensione e la manutenzione.
Usare nomi chiari per variabili.
I nomi significativi per variabili e funzioni migliorano la leggibilità e la comprensione.
Cosa sono le funzioni pure?
Funzioni che non hanno effetti collaterali e restituiscono sempre lo stesso output per gli stessi input.
Gamificazione nel codice.
Utilizzare la gamificazione per migliorare l'impegno e la comprensione del codice tra i team.
Principio di responsabilità singola.
Ogni modulo o classe dovrebbe avere una sola responsabilità, facilitando la manutenzione.
Fill in the blank: Preferisci l'____ alla programmazione procedurale.
Preferisci l'orientamento agli oggetti alla programmazione procedurale per migliorare la struttura e la riusabilità.
Qual è l'importanza dei test automatizzati?
I test automatizzati garantiscono che il codice funzioni come previsto e riducono la probabilità di bug.
Qual è la regola del 80/20?
Il 20% del codice genera l'80% dei problemi. Concentrati sulla parte critica del codice.
Cosa significa modularità?
La modularità implica suddividere il codice in moduli riutilizzabili e indipendenti, migliorando la manutenzione.
Cosa rappresenta il principio YAGNI?
YAGNI significa "You Aren't Gonna Need It". Evita di scrivere codice non necessario, mantenendo il progetto snello.
Comparazione: codice complesso vs. codice semplice.
Il codice complesso è difficile da manutenere; il codice semplice è più facile da comprendere e modificare.
Uso corretto degli spazi bianchi.
Utilizzare spazi bianchi per separare i blocchi di codice rende il codice più leggibile.
Prova a mantenere la lunghezza delle righe sotto i ____ caratteri.
Prova a mantenere la lunghezza delle righe sotto i 80 caratteri per migliorare la leggibilità.
Domande in questo set(48)
1. Cos'è il Clean Code?
2. Qual è il vantaggio principale di commentare il codice?
3. Cosa indica la presenza di metodi troppo lunghi nel codice?
4. Qual è il significato del principio DRY?
5. Cosa implica il principio DRY?
6. Qual è uno dei principali vantaggi del refactoring?
7. Perché la leggibilità del codice è importante?
8. Qual è il significato di KISS nei principi di programmazione?
9. Quando è opportuno eseguire un refactoring?
10. Vero o Falso: I commenti sono sempre necessari.
11. Vero o falso: il codice complicato è sempre migliore.
12. Qual è la tecnica di refactoring che consiste nel suddividere un metodo in più metodi più piccoli?
13. Cosa si intende per semplicità nel codice?
14. Qual è l'importanza di usare nomi chiari per variabili?
15. Cosa succede quando un metodo utilizza frequentemente i dati di un'altra classe?
16. Qual è un vantaggio delle funzioni brevi rispetto a quelle lunghe?
17. Cosa si intende per funzioni pure?
18. Quale delle seguenti affermazioni è falsa riguardo al refactoring?
19. I nomi delle variabili dovrebbero essere ______.
20. Qual è il beneficio di applicare la gamificazione nel codice?
21. Cosa implica l'operazione 'Remove Dead Code'?
22. Cosa significa il principio KISS?
23. Cosa significa avere una responsabilità singola in un modulo?
24. Qual è l'obiettivo principale della tecnica 'Move Method'?
25. Qual è l'importanza della coerenza nel codice?
26. Fill in the blank: È meglio preferire l'____ rispetto alla programmazione procedurale.
27. Quando dovresti sostituire i numeri magici nel codice?
28. Cos'è una naming convention?
29. Qual è l'importanza dei test automatizzati?
30. Quali frammenti di codice dovrebbero essere consolidati?
31. Qual è l'effetto di un codice complesso?
32. Cosa rappresenta la regola del 80/20 nel codice?
33. Cosa descrive meglio il metodo 'Inline Method'?
34. Cosa significa rifattorizzare una funzione monolitica?
35. Cosa significa modularità nel codice?
36. Qual è la caratteristica del 'Rename'?
37. Cosa implica il principio della responsabilità unica?
38. Cosa significa YAGNI?
39. Quale dei seguenti non è un obiettivo del refactoring?
40. Cos'è un 'code smell'?
41. Compara codice complesso e codice semplice.
42. Qual è un segnale di allerta che potrebbe richiedere refactoring?
43. Cosa si intende per abbreviazione nel codice?
44. Qual è l'uso corretto degli spazi bianchi nel codice?
45. Quale tecnica potrebbe aiutare a migliorare la coesione del codice?
46. Qual è la relazione tra test e Clean Code?
47. Qual è la lunghezza massima consigliata per le righe di codice?
48. Quale dei seguenti non è un vantaggio del refactoring?
Set correlati
Schleife Alltag Beispiel Begriffe
Abitur: Abitur Klassen und Objekte
Wiederholung: Funktionen
Test: Binärzahlen
Listen Notizen
Test: Variablen und Datentypen
Abitur Datenbanken SELECT grob Prüfung
Abitur Rekursion
Crea il tuo set di studio
Carica un PDF, incolla le tue note o descrivi un argomento – l'IA genera schede, quiz e altro in pochi secondi.

