Θα διαφωνήσω με το τελευταίο γιατί απλά, μόνο η VB έχει τέτοιο θέμα. Η C# δεν έχει θέμα και άνετα μπορείς να γράψεις το (private) πεδίο με μικρά και το property με κεφαλαία και να μην έχεις κανένα πρόβλημα. Άσε που αυτό είναι ήδη ένα από τα πιο συνηθισμένα conventions στη C#. Οπότε, αν δεν γράφεις με VB, γράφεις άνετα τα πεδία με μικρά. Παρεμπιπτόντως, και το δεύτερο πιο συνηθισμένο convention σε C#, C, C++, Java δεν παίζει σε VB, να βάζεις δηλαδή ένα _ μπροστά από τα ονόματα των πεδίων. Οπότε, είναι προτιμότερο να ακολουθείς ένα από τα δύο conventions που χρησιμοποιούν όλοι παρά να φτιάξεις ένα δικό σου.
Όσο για το να ξεχωρίσουν οι μεταβλητές και οι κλάσεις? Δεν βλέπω το λόγο - εκτός και αν ο κώδικας είναι εξαιρετικά κακογραμμένος. Διαφορετικά, απλά προσθέτοντας ένα C μπροστά από τον ορισμό ενός τύπου όπως κάναμε παλιά με την C++ καθαρίζεις. Οι μεταβλητές ποτέ δεν πρέπει να ορίζονται μακριά από το σημείο χρήσης τους, οπότε πάλι δεν πρέπει να υπάρχει πρόβλημα. Ακόμα όμως και αν κάποιος δεν είναι σίγουρος που ορίζεται ένας τύπος, μπορεί με ένα Go To Declaration ή βάζοντας το ποντίκι πάνω από τον τύπο να δει που ορίζεται μία κλάση.
Αντιθέτως, είναι πολύ πιο σημαντικό να χρησιμοποιεί κανείς επεξηγηματικά ονόματα για τους τύπους και τις μεταβλητές του. Αντί για i, j, k, c και μπόλικα comments καλύτερα να γράψει customerIndex, productID, secondsToExplosion, totalCars.
Να επαναλάβω, ότι αν ο κώδικας είναι κακογραμμένος και δεν ξεχωρίζει ποιός τύπος είναι του .NET και ποιός της εφαρμογής, υπάρχει πολύ σοβαρότερο πρόβλημα και θα πρέπει να αντιμετωπιστεί άμεσα. Αν οι μεταβλητές ορίζονται 3 σελίδες πριν χρησιμοποιηθούν, θα πρέπει να μεταφερθούν εκεί που χρησιμοποιούνται. Αν μία μέθοδος είναι 3 σελίδες θα πρέπει οπωσδήποτε να σπάσει σε μικρότερες. Μία μέθοδος ή μία κλάση θα πρέπει να είναι υπεύθυνη για ένα και μόνο ένα πράγμα. Μία συνάρτηση 3 σελίδων προφανώς προσπαθεί να κάνει πολλά πράγματα ταυτόχρονα και θα πρέπει να σπάσει. Μία κλάση με δεκάδες πεδία και properties, επίσης είναι ύποπτή. Είναι ελάχιστες οι φορές που χρειάζεται μία μεγάλη κλάση.
Όσον αφορά εργαλεία σαν το CodeRush, νομίζω ότι δεν βοηθάνε πολύ αν ο κώδικας είναι στοιχειωδώς καλογραμμένος. Αντίθετα, οι λειτουργίες refactoring του Refactor της ίδιας της Devexpress και του Resharper είναι πολύ πιο σημαντικές καθώς σε βοηθάνε να βελτιώσεις τον κώδικα.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos