
Μάλλον έπρεπε να βρω άλλο παράδειγμα αντί τα .ini. Αναφερόμουνα στο ότι η επεξεργασία από τον άνθρωπο δεν είναι λόγος για να επιλέξει κανείς την XML ως
text format, μάλλον το αντίθετο. Ούτε αναφέρομαι στο αν το αρχείο πρέπει να είναι σε binary ή text format. Απλά λέω ότι αν είναι να χρησιμοποιηθεί ένα text format, η επιλογή της XML δεν ταιριάζει αν το αρχείο προορίζεται για επεξεργασία από άνθρωπο χωρίς εργαλεία.
Με την XML είμαι υποχρεωμένος να βρώ ή να φτιάξω τη σωστή σύνταξη και μετά να γράψω σωστά τα tags. Χωρίς εργαλεία θα πρέπει να πετύχω σωστά το Schema και μετά να γράψω και τα αρχεία με το χέρι προσέχοντας tags, whitespace. Αυτό θα πάρει πολύ περισσότερο χρόνο από ότι αν έγραφα τα data σε ένα πολύ πιο απλό text format.
Τα config αρχεία δεν ανήκουν σε αυτή την κατηγορία γιατί γράφονται/διαβάζονται από την ίδια την εφαρμογή ή κάποιο άλλο εργαλείο. Απλά τα ανέφερα σαν παράδειγμα σύνταξης λίγο πιο περίπλοκο από το CSV, όχι σαν παράδειγμα χρήσης XML.
Ελπίζω το παρακάτω παράδειγμα να είναι σαφέστερο. Στη C# χρησιμοποιείται ένα format XML για τη δημιουργία σχολίων μέσα στον κώδικα. Στη Java από παλιά χρησιμοποείται ένα απλούστερο text format.
Αν έγραφα σε Java θα έγραφα κάτι σαν:
/*
@remark:
Check this, check that
And don't forget the other
*/
Στη C# κάτι σαν
/*
<
Remark> Check this, check that
<para>And don't forget the other</para>
</
remark>
*/
Το λάθος case το έβαλα επίτηδες
Και δεν είμαι σίγουρος ότι το indent θα το καταλάβει. Επειδή όμως υπάρχουν εργαλεία που ενσωματώνουν τα comments στο Intellisense, τα χρησιμοποιώ. Επίσης, με το NDoc φτιάχνω και το help file που θέλω εύκολα. Αλλά το να γράψω το κείμενο είναι σκέτος μπελάς.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos