|
From: Bernardo I. <be...@de...> - 2002-05-11 04:04:03
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Saturday 11 May 2002 00:31, Lorenzo Stacchini wrote: > Probabilmente nessuno di voi ancora ha visto quello che ho > committato verso le 8, ho fatto un ripulisti senza precedenti allo > stile del codice di un po' tutto il gioco che comincia a essere > leggibile quasi in tutti i moduli. Ho corretto tantissime variabili > non lower-case, indentazione e varie bischerate e _underscore_ qua e > l=E0. Vorrei poi sottolineare che =E8 importante scrivere con uno stil= e > fedele alle specifiche del roadmap (o per lo meno non in > contraddizione)... Hai fatto davvero un gran lavoro... ce n'era moltissimo bisogno! Rimangono ancora poche cose che non vanno... le elenco qua di seguito nella speranza che qualche volenteroso voglia provvedere: - non tutti i file hanno l'header corretto con il copyright e tutto il resto. La versione da riportare e' quella di sprite.h, predisposta per il Doxygen; - in alcuni punti rimangono delle indentazioni strambe. Per esempio roba che sta estremamente a destra o righe lunghissime che non si riescono a leggere; - c'e' anche molto codice commentato e rimasto li' ad ammuffire per settimane... se e' una cosa temporanea va bene, ma alla lunga e' fastidioso. Io direi di potare tutto: tanto il CVS ci consente di tirare fuori le versioni precedenti al bisogno; - C'e' anche un bel po' di codice duplicato in giro: c'e' ancora qualche opportunita' di raggruppare le operazioni comuni a piu' sprite in delle funzioni da mettere in sprite.c; - In molti posti vengono ancora caricate le immagini a mano senza utilizzare Gfx. Questo rende difficile verificare che tutte le immagini vengano convertite correttamente e sopratutto liberate quando non serovno piu'. Inoltre, se non centralizziamo il caricamento dei dati, diventa difficile implementare l'archivio ZIP per i dati del gioco e anche cambiare il modo video del gioco al volo; - Ci sono degli sprite che si memorizzano copie delle variabili di Game per usarle al di fuori della move(). La mancanza di game nelle varie draw(), collide(), etc. era una scelta deliberata per ostacolare chi tenta di forzare il design originale. Se gli sprite si mettono a fare troppe cose fuori da move(), sara' difficile implementate il network play e far girare la logica del gioco in modo slegato dall'aggiornamento grafico; Avete un sacco di materiale su cui esercitarvi. Non prendete queste osservazioni alla leggera: mantenere pulito il codice e' un lavoro che costa del tempo ma ha un ritorno incalcolabile in termini di mantenibilita'. - --=20 // Bernardo Innocenti - Develer S.r.l., R&D dept. \X/ http://www.develer.com/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjzcmHMACgkQltU4TfxqZsrhCwCdHJab/15bc+2Lgb0Tyc6BkGL8 YekAoJ+JxLkc8+bAwAA5hsfvIlP0KsBe =3DJZvR -----END PGP SIGNATURE----- |