6 motivi per conoscere almeno un linguaggio di programmazione
Fonte:
Hackernoon Potresti non essere mai stato esposto all'informatica. Ma ci sono almeno 6 ragioni per imparare almeno un linguaggio di programmazione.
1. Capire dove trascorri 28.300 ore della tua vita
Secondo le statistiche, la maggior parte di noi trascorre una parte significativa della propria vita (28.300 ore) su Internet, applicazioni mobili e desktop. Tutte queste cose virtuali vengono create utilizzando il codice. Per capire come funzionano è importante avere conoscenze di programmazione di base.
2. Per semplificarti la vita
Programmi e dispositivi tecnici vengono creati per semplificarci la vita. E mentre quasi tutti noi interagiamo con loro come utenti, anche tu puoi creare applicazioni attraverso la programmazione. Ad esempio, impostando una risposta testuale utilizzando un bot quando sei offline. A prima vista, sembra un compito difficile, ma non lo è. Non devi nemmeno scrivere ogni riga di codice. Devi solo capire di cosa è responsabile questa o quella riga di codice e come funziona il tutto. Altri programmi vengono creati utilizzando un principio simile.
3. Essere in grado di creare cose nuove
Ogni dispositivo che usi, dal cellulare alla chitarra elettrica, utilizza un codice per funzionare. Pertanto, la programmazione è presente nelle nostre vite. Quindi, qualunque sia la tua passione, puoi creare cose nuove attraverso la programmazione. Non importa chi sei: un musicista o un avvocato: ora tutti possono mostrare la propria creatività se conoscono un linguaggio di programmazione.
4. Per migliorare il tuo curriculum
Non c'è niente di sbagliato nell'aggiungere qualcosa di nuovo al tuo curriculum, giusto? Allora perché non aggiungere la programmazione come competenza aggiuntiva? Conoscere un linguaggio di programmazione può far risaltare il tuo curriculum rispetto agli altri. Ciò indicherà che sei una persona che non ha paura di imparare qualcosa fuori dagli schemi e non ha paura di accettare una sfida. Dimostra anche che sei aggiornato con la tecnologia moderna.
5. Rafforzare le capacità di problem solving
La programmazione ti dà più di un semplice insieme di conoscenze. Migliora le tue capacità di problem solving e aiuta anche a migliorare i tuoi livelli di pazienza. Potresti non sentirlo subito, ma avrà un impatto positivo su molte aree della tua vita in futuro.
6. Ampliare le opportunità di carriera
Il 2020 ci ha portato molte sorprese. Il mercato del lavoro è completamente cambiato a causa del COVID-19. Molte professioni hanno perso rilevanza e le persone stanno cercando di trovare nuove opportunità di sopravvivenza. Quindi non vi è alcuna garanzia che la tua professione esisterà tra 30 anni. Avere un'opzione di backup è una decisione saggia.
Quando il codice necessita di refactoring: 12 regole utili
Fonte:
Medium Il refactoring, essenzialmente, sta riprogettando la base di codice, modificando la struttura interna del programma. Il processo di refactoring è spesso combinato con la correzione di bug, l'aggiunta di nuove funzionalità e l'ottimizzazione delle prestazioni. Ma non dimenticare: il refactoring non è una revisione del codice o una correzione di errori.
Perché vale la pena dedicare del tempo a imparare il refactoring
Se sei un nuovo sviluppatore, imparare a eseguire il refactoring del codice e, soprattutto, sapere quando eseguire il refactoring, sarà un'abilità importante per te. Molti sviluppatori saltano il refactoring. Di conseguenza, il loro codice appare mediocre, confuso e difficile da leggere. Come fai a sapere quando il tuo codice necessita di refactoring? Ci sono 12 regole che aiuteranno a determinarlo:
- L'elenco dei parametri della tua classe è diventato troppo grande? È difficile eseguire test ed eseguire il debug? Quindi questo è un ottimo candidato per il refactoring.
- Ci sono metodi nel tuo codice all'interno delle classi che utilizzano solo una delle dipendenze della classe? È meglio inserire questo metodo in una classe separata, anche se questa classe consiste di un solo metodo.
- Il tuo metodo fa due cose diverse a seconda del valore di un parametro booleano? In questo caso è meglio creare due metodi diversi con responsabilità chiare.
- Il tuo metodo ha una ramificazione del valore? Ad esempio, controlli il tipo di un oggetto ed esegui varie operazioni a seconda del suo tipo. Questo è un ottimo caso per trasformare il tuo
if-else
o switch
in un dizionario.
- Usi spesso
if-else
o switches
? Prova invece a utilizzare il polimorfismo e ad applicare modelli di progettazione testati in battaglia come Strategia o Mediatore.
- Il costruttore o il metodo della tua classe accetta un numero o una stringa magica? Sostituisci la magia con enumerazioni ordinarie.
- Hai valori chiaramente programmati (numeri o stringhe)? Prendi invece i valori come parametri e rendili configurabili. Troverai più semplice riutilizzare o distribuire la tua applicazione in nuovi ambienti o modificare le impostazioni.
- Non utilizzare nomi di variabili come
i
, j
, k
, m
, n
, x
. Smettila e basta.
- Ti ritrovi spesso a utilizzare la stessa logica in più posti? Spostare la logica nella propria classe o metodo.
- Ci sono classi nel tuo codice
Service
o Manager
? Sono come un coltellino svizzero: molte opzioni che vengono utilizzate raramente. Prenditi un momento per pensare a quali compiti potrebbero essere utilizzati al loro interno, quindi sposta ogni singola attività nella sua classe.
- Trovi difficile testare un singolo metodo perché la classe in cui si trova accetta molti argomenti del costruttore? Quindi porta il metodo fuori dalla classe.
- Hai bisogno di aggiungerne uno nuovo
else-if
o switch
di implementare un nuovo requisito o funzionalità? Prova a utilizzare le interfacce e la riflessione per il rilevamento automatico dei tipi.
In che modo il refactoring migliora la qualità del software interno?
Quando esegui il refactoring, migliori una o più caratteristiche del codice:
- Manutenibilità: assicurati di poter apportare facilmente modifiche al tuo software. La manutenibilità include l'aggiunta di nuove funzionalità, l'ottimizzazione delle prestazioni e la semplificazione della correzione dei bug.
- La flessibilità è l'intervallo entro il quale è possibile modificare il software per servire ad altri scopi.
- Portabilità: con quale facilità è possibile far funzionare il software in un altro ambiente.
- Riutilizzabilità: con quanta facilità puoi utilizzare parti del tuo software su altri sistemi.
- Leggibilità: con quanta facilità puoi leggere e comprendere il codice sorgente, non solo a livello di interfaccia, ma anche nei più piccoli dettagli di implementazione.
- Testabilità: facilità di creare test unitari, test di integrazione.
- Comprensione: come comprendere facilmente il software a livello generale. Assicurati che la tua codebase abbia contenuti strutturati.
GO TO FULL VERSION