May 2009 Blog Posts

Recovering Virtual PC console

Mi è capitato spesso che le finestre del virtual pc vengono create oltre le dimensioni di risoluzione dello schermo. Per poter recuperare queste finestre potrete optare per una delle seguenti soluzioni: Chiudere virtual pc e cancellare il file %appdata%\Microsoft\Virtual PC\Options.xml. Perdendo così alcune delle impostazioni globali. Aprire il file Options.xml e settare a 0 i parametri left_position e top_position sparsi lungo il file. Subito dopo aver aperto Virtual PC premere: ALT, Sinistra, Giù, m, Sinistra e muovere il mouse. http://blogs.msdn.com/virtual_pc_guy/archive/2007/05/08/recovering-a-lost-virtual-pc-console.aspx Tags: Altro

La classe più utile che ho mai scritto

Almeno sin’oggi: public class ViewFields{ public string Name { get; set; } public XElement XElement { get { return new XElement("FieldRef", new XAttribute("Name", Name)); } }} ...

Primitive Obsession: Replace State-Altering Conditionals with State

Continuiamo con lo smell: Primitive Obsession    Problema: Gestire le condizioni dello stato di un oggetto è complicato e complesso. Un esempio di logica errata: while (command != 'e') { Console.WriteLine("\nWhat would you like to do now?"); Console.Write("Move Attack Stop Run Panic CalmDown Exit the game: ==>"); ...

Microsoft Enterprise Library 4.1 – October 2008

Credo d’averlo già scritto un paio di volte: La libreria più utile al mondo!!! http://msdn.microsoft.com/en-us/library/dd203099.aspx Tags: Altro

LinqToXml: creazione di una struttura XML

Ho dei dati all’interno di una variabile: Dictionary<int, Dictionary<string, string>> xmlMassiveData = new Dictionary<int, Dictionary<string, string>>();   Nella quale ho un insieme di dati che mi serviranno per creare un Batch per SharePoint. Ma poco cambia per la creazione di un file XML. Ecco cosa faremo: XElement query...

Conditional Complexity: Move Embellishment to Decorator

Continuiamo con lo smell: Conditional Complexity   Problema: Collegandoci al post precedente: Conditional Complexity: Replace Conditional Logic with Strategy continuiamo con un’altra possibile soluzione Un esempio di logica errata: // Prima string result = stringBuilder.ToString(); if (shouldDecode) result = MyDecoder.decode(result); return result; // Dopo 1 settimana string result = stringBuilder.ToString(); if (shouldDecode) result = MyDecoder.decode(result); if (removeTabs) result = MyDecoder.withOutTabs(result); return result; // Dopo 2 settimane string result =...

www.tostring.it

Non mi ha voluto offrire la pizza… ma una birra riuscirò a scroccarla :D Di chi sto parlando??? Del proprietario di questo blog: www.tostring.it Troverete un sacco di interessanti e utilissimi articoli. Buona lettura. Tags: Altro

LinqToXml: esempio con Dictionary

XML sorgente: <?xml version="1.0" encoding="utf-8"?> <Configurations> <ListFormStruct Name="ListFormPippo" DataFileName="DataFileNamePippo"> <Struct> <Column Name="Column1" StartByte="0" Length="12" Type="String" /> <Column Name="Column2" StartByte="13" Length="10" Type="Int" /> <Column Name="Column3" StartByte="24" Length="10" Type="DateTime" /> <Column Name="Column4" StartByte="35" Length="10" Type="String" /> </Struct> </ListFormStruct> </Configurations> ...

Conditional Complexity: Replace Conditional Logic with Strategy

  Continuiamo con lo smell: Conditional Complexity Problema: Esiste un metodo di controllo con una logica condizionale composta da diverse varianti i quali valori si conosceranno solamente a runtime. La stessa logica di controllo viene riprodotta in varie classi affinchè si ottenga il valore desiderato. Un esempio di logica errata: Di seguito un esempio di logica errata, sul quale lavoreremo: public double Capital(){ ...

Indecent Conditional Logic: Replace Conditional Logic with Stategy and Nullable Object

Continuiamo con lo smell: Indecent Conditional Logic Questo smell l’ho creato io questa mattina. Nel senso che ho trovato del codice che non mi piaceva e ho voluto trovare una soluzione. Problema: Il client crea dei tipi con valori di default se le condizioni sono vere o altrimenti con i valori passati. Motivazione: L’esponenziale presenza di if mi irrita l’epidermide e, nel codice che andremo a vedere, di if non ce ne sono poche. Tentendo questa logica, avremo un proliferare di condizioni inutili lungo tutto il nostro progetto. Un esempio di logica errata: Ecco...

Duplicated Code: Introduce Polymorphic Creation with Factory Method

Continuiamo con lo smell: Duplicated Code Problema: Due o più classi, gerarchicamente implementate (ovvero avendo la stessa classe base), contengono lo stesso metodo. Solitamente questo smell nasce dal copia&incolla o perchè non si conoscono le classi sviluppate precedentemente (e questo può essere uno smell causato dal nome usato per le vecchie classi o perchè non abbiamo fatto un pò di Pair Programming). Motivazione: Innanzitutto nella programmazione Object-Oriented, la strada più frequente e più pulita per creare un oggetto è il pattern Factory Method. ...

I migliori commenti di sempre

L’originale su: http://blogs.microsoft.co.il/blogs/shair/archive/2009/05/03/what-is-the-best-comment-in-source-code-you-have-ever-encountered.aspx 1. /// <summary>     /// Class used to work around Richard being a fucking idiot    ...