Benvenuti a un nuovo viaggio nella nostra serie “GitHub Uncharted“! Oggi, grazie ai suggerimenti del nostro fidato cartografo digitale Mattia Tommasone, ci avventureremo in cinque repository che promettono di arricchire il nostro arsenale di sviluppo. Prepariamoci a scoprire gemme nascoste e strumenti potenti che potrebbero rivoluzionare il nostro modo di programmare!
1. MockK
Link: https://github.com/mockk/mockk/
Se siamo sviluppatori Kotlin alle prese con i test, MockK potrebbe diventare il nostro nuovo migliore amico. Ricordiamo la prima volta che l’abbiamo usato – era come passare da un trenino giocattolo a un Frecciarossa! Con una sintassi così fluida, creare mock objects diventa quasi divertente. Proviamo questo:
kotlinval car = mockk<Car>()
every { car.drive(any()) } returns "vroooom"
println(car.drive("fast")) // Stampa: vroooom
È così intuitivo che ci chiederemo come abbiamo fatto senza finora!
2. Google Ads .NET Client Library
Link: https://github.com/googleads/google-ads-dotnet
Per gli aficionados di .NET tra noi che lavorano con Google Ads, questa libreria è un vero e proprio salvavita. Ci ha fatto risparmiare ore di lavoro quando dovevamo gestire campagne pubblicitarie programmaticamente. Ecco un assaggio:
csharpusing (var client = new GoogleAdsClient())
{
var response = client.Search("SELECT campaign.id, campaign.name FROM campaign");
foreach (var row in response)
{
Console.WriteLine($"Campaign found with ID {row.Campaign.Id} and name {row.Campaign.Name}");
}
}
Semplice, vero? E questo è solo l’inizio!
3. Google Ads API Protos
Link: https://github.com/googleapis/googleapis/tree/master/google/ads/googleads
Okay, questo potrebbe sembrarci un po’ ostico all’inizio, ma fidatevi: se stiamo lavorando con l’API di Google Ads in un linguaggio non supportato ufficialmente, questi file proto sono oro colato. Li abbiamo usati per generare un client in Rust e, credeteci, è stata un’esperienza illuminante!
4. Spring Framework
Link: https://github.com/spring-projects/spring-framework
Ah, Spring! Il framework Java che è come un coltellino svizzero per lo sviluppo enterprise. La prima volta che abbiamo creato un’applicazione web con Spring Boot, ci siamo sentiti come dei maghi:
java@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Benvenuti in GitHub Uncharted!";
}
}
E boom! Un’API REST funzionante in poche righe. Se non l’abbiamo ancora provato, cosa stiamo aspettando?
5. Arrow
Link: https://github.com/arrow-kt/arrow
Per ultimo, ma non per importanza, abbiamo Arrow. Se amiamo Kotlin e la programmazione funzionale, prepariamoci a innamorarci. La gestione degli errori con Either ci ha fatto esclamare “Eureka!”:
kotlinfun divide(a: Int, b: Int): Either<String, Int> =
if (b == 0) Either.Left("Division by zero!")
else Either.Right(a / b)
divide(10, 2).fold(
{ error -> println("Error: $error") },
{ result -> println("Result: $result") }
) // Stampa: Result: 5
Addio, try-catch verbosi!
Questi repository sono solo la punta dell’iceberg di ciò che GitHub ha da offrire. Vi invitiamo a esplorare gli altri articoli della nostra serie “GitHub Uncharted” – chissà quali altre meraviglie del codice potremmo scoprire insieme!
E voi, cari lettori, quali tesori nascosti avete trovato ultimamente su GitHub? Condividete le vostre scoperte nei commenti – la nostra comunità di esploratori di codice non vede l’ora di saperne di più!