[-] DrViente@feddit.it 5 points 1 year ago

Interessante.

Quasi ci stavo pensando, anche se il prezzo ovviamente è bello alto.

Poi ho visto che nessuna tastiera ha PageUp, PageDown e compagnia su tasti dedicati, ma sono invece sulle frecce direzionali e vanno usati assieme al tasto Fn.

Operazioni che dovrebbero essere accessibili con un solo dito hanno invece bisogno di entrambe le mani :/ Ho già fatto l'errore di comprare un Dell, che ha lo stesso difetto, e maledico la mia scelta ogni giorno.

[-] DrViente@feddit.it 1 points 1 year ago

E-reader tutta la vita (almeno per romanzi, non è in effetti una tecnologia adatta a ogni tipo di libro).

Per quanto mi riguarda, tutto quello che mi trasmette un libro è il suo contenuto. Se penso ai libri più belli che abbia mai letto, come mi hanno cambiato, quello che mi hanno insegnato, come mi abbiano trasportato durante la lettura, l'unica cosa che ricordo è il loro contenuto. Finché il medium è abbastanza buono da non intaccare l'esperienza di lettura, e gli e-reader sono obiettivamente una tecnologia matura, non vedo nessuna motivazione per cui la carta dovrebbe essere migliore.

Né peggiore, salvo gli ovvi vantaggi "laterali" degli e-reader su spazio occupato e ricerca nel testo.

[-] DrViente@feddit.it 2 points 1 year ago

l’account meglio su Codeberg / Gitea / Forgejo che sono 100% open rispetto a Gitlab o Github 😉

Gitea e Forgejo non offrono un servizio però, solo un'applicazione (se sbaglio linka pure, sono interessato).

Chiedere di mettere su e gestire un'infrastruttura del genere aperta al pubblico per condividere un programma mi sembra un po' esagerato. Per quanto sia divertente / soddisfacente / facile (opinione personale da uno che ha il suo server Gitea personale).

[-] DrViente@feddit.it 0 points 1 year ago

Devo esser sincero, inizialmente, leggendo la tua risposta, l’avevo intesa come un classico “io son meglio”, non volta ad apprendere, ragionare o migliorare la conoscenza di un neofita in Rust - modo in cui sembra trasparire tu mi consideri.

Allora vuol dire che non sono riuscito a trasmettere il tono giocoso e spensierato che avrei voluto. Mi spiace.

E forse ho frainteso il tuo messaggio originale in questo punto:

Questo codice è un macello!

Grazie, mi sono impegnato! Se hai notato bug, typo o cose insensate per favore commenta qui sotto!

In questa tua replica sembri molto meno propenso a ricevere commenti di quanto avessi letto nel messaggio originale.

[-] DrViente@feddit.it 2 points 1 year ago* (last edited 1 year ago)

Questo codice è un macello! /s

Lascerò a Clippy il compito di indicare tutti i problemi. Aggiungi #![deny(clippy::pedantic)] in cima ed esegui cargo clippy.

Altri commenti in ordine sparso:

È decisamente poco idiomatico, anche se immagino sia stato scritto così apposta, dato che è indirizzato a chi il linguaggio non lo conosce.

Usare match per estrarre esplicitamente gli errori è il modo sbagliato di usare Rust. Quello giusto è usare l'operatore ?, che lo fa in modo implicito (o al massimo if let o let else). Non servono nemmeno anyhow o simili, le funzioni possono restituire Result<_, Box<dyn std::error::Error>>.

Senza contare che match crea un nuovo scope e un nuovo livello di indentazione, il codice sembra la bandiera del Nepal.

Per lo stesso motivo, usa std::fs::read_from_string invece di creare un file esplicitamente.

Gli argomenti trng e trg della funzione pick_random suonano identici, ma a giudicare dal tipo sono ben diversi.

Forse potremmo controllare response.status() e fare un bel match...

Meglio usare Response::error_for_status. C'è quasi sempre un modo migliore di un match esplicito per gestire gli errori.

Creare diversi moduli

Prima di creare nuovi moduli penserei a creare nuove funzioni. main() fa decisamente troppe cose.

Infine:

Perché non su github?

Al momento non ho un account che posso usare per queste cose, mi dispiace!

Questa non è una buona scusa. Gli account su GitHub / Gitlab / SourceHut / BitBucket... non costano niente.

Però tutto sommato è stata una buona idea, e il codice in sé non è poi così malvagio per un principiante (o per qualcuno che scrive per principianti). Magari riesci a fare incuriosire qualcuno.

DrViente

joined 1 year ago