Recensubs HQ

JaqaacGUI - Just a qaac GUI

« Older   Newer »
  Share  
H e l l.
view post Posted on 10/9/2012, 17:24 by: H e l l.     +1   -1

Member

Group:
Utente abilitato
Posts:
615
Reputation:
+170

Status:


CITAZIONE (Tada no Snob @ 10/9/2012, 18:08) 
Consiglio da amico, se pensate di aggiungervi altro codice in futuro fare un po' di refactoring è una buona idea.
Via i nomi di default creati da VS e la logica va messa fuori dalla form (magari in futuro verranno aggiunte nuove funzionalità e si vorrà richiamare la logica da un altro punto del programma).
Poi dando una rapida occhiata ho visto codice tipo:

CODICE
buffer.Append("\"" + qaac + "\" ");

           /* AAC Mode and quality/bitrate */
           string encoding = "";
           switch (comboBox1.SelectedItem.ToString())
           {
               case "ABR":
                   encoding = "-a";
                   break;
               case "TVBR":
                   encoding = "-V";
                   break;
               case "CVBR":
                   encoding = "-v";
                   break;
               case "CBR":
                   encoding = "-c";
                   break;
               case "ALAC":
                   encoding = "-A";
                   break;
           }
           buffer.Append(encoding);


A parte che io non userei StringBuilder per una simile cavolata (non sono 5 cicli di cpu a salvare la vita, e si rischia addirittura che le prestazioni siano inferiori), si poteva fare qualcosa tipo
CODICE
buffer.Append("\"" + qaac + "\" ");

           /* AAC Mode and quality/bitrate */
           switch (comboBox1.SelectedItem.ToString())
           {
               case "TVBR":
                   buffer.Append("-V");
                   break;
               case "CVBR":
                   buffer.Append("-v");
                   break;
               case "CBR":
                   buffer.Append("-c");
                   break;
               case "ALAC":
                   buffer.Append("-A");
                   break;
               default:
                   buffer.Append("-a");
                   break;
           }


La stringa encoding non serve realmente, e imho se si è deciso di mettere ABR default lo sottolinierei, anche perché torniamo al discorso precedente, per ora viene chiamato via GUI e c'è la sicurezza del valore, in un secondo tempo chissà.
Al massimo si può chiarire con un commento nel codice tipo default: //ABR.

Poi sarebbe bello portare fuori tutte le stringhe (ora non vi serve, ma in futuro magari vorrete localizzarlo), una classe con tutte le stringhe come costanti potrebbe risolvere adeguatamente il problema e rendervi più semplice la cosa in futuro (also se dovete correggere l'inglese non avete bisogno di girarvi tutto il codice ma avete lì le stringhe pronte).
Altra cosa probabilmente utile potrebbe essere lanciare direttamente il comando senza passare da un file bat (ma non ho particolari esperienze in merito, per lo meno non so se il pipe funziona tale e quale o meno).

Ti riporto ciò che ha scritto il devolper:
CITAZIONE
Il codice fa abbastanza cagare in realtà, giusto perché di encoding io non me ne intendo, ogni release è stata fatta secondo le richieste di Hell, e quindi non c'è stata alcuna pianificazione per uno sviluppo a lungo termine, ma giusto un continuo aggiungere feature/bugfixes (ecco perché i nomi dei controlli sono quelli di default e non c'è alcuna altra classe che contenga la logica dell'applicazione, quindi figuriamoci per la localizzazione).

Per quanto riguarda il file bat, dovrei dare il suo contenuto in pasto a Process come se fosse un parametro di cmd, e 'sta cosa mi puzza un po', già solo per gli escape degli apici.

 
Web  Top
17 replies since 9/9/2012, 11:48   2397 views
  Share